Ġestjoni ta' Utenti u Gruppi, Permessi u Attributi tal-Fajl u Aċċess għal Sudo fuq Kontijiet - Parti 8


F'Awwissu li għadda, il-Linux Foundation bdiet iċ-ċertifikazzjoni LFCS (Linux Foundation Certified Sysadmin), programm ġdid fjamant li l-għan tiegħu huwa li jippermetti individwi kullimkien u kullimkien jagħmlu eżami sabiex jiksbu ċċertifikati fl-appoġġ operattiv bażiku għal intermedju għas-sistemi Linux, li jinkludi jappoġġaw is-sistemi u s-servizzi tat-tħaddim, flimkien ma 'monitoraġġ u analiżi ġenerali, flimkien ma' teħid ta 'deċiżjonijiet intelliġenti biex tkun tista' tiddeċiedi meta jkun meħtieġ li teskala l-kwistjonijiet għal timijiet ta 'appoġġ ta' livell ogħla.

Jekk jogħġbok agħti ħarsa malajr lejn il-video li ġej li jiddeskrivi introduzzjoni għall-Programm ta' Ċertifikazzjoni tal-Linux Foundation.

Dan l-artikolu huwa Parti 8 ta 'serje twila ta' 10 tutorials, hawn f'din it-taqsima, aħna niggwidawk dwar kif timmaniġġja l-permessi ta 'utenti u gruppi fis-sistema Linux, li huma meħtieġa għall-eżami ta' ċertifikazzjoni LFCS.

Peress li l-Linux hija sistema operattiva b'ħafna utenti (sakemm tippermetti lil utenti multipli fuq kompjuters jew terminali differenti biex ikollhom aċċess għal sistema waħda), ikollok bżonn tkun taf kif twettaq ġestjoni effettiva tal-utenti: kif iżżid, teditja, tissospendi jew tħassar kontijiet tal-utent, flimkien mal-għoti tagħhom il-permessi meħtieġa biex jagħmlu l-kompiti assenjati tagħhom.

Żieda tal-Kontijiet tal-Utent

Biex iżżid kont ta 'utent ġdid, tista' tmexxi waħda miż-żewġ kmandi li ġejjin bħala root.

# adduser [new_account]
# useradd [new_account]

Meta kont ġdid tal-utent jiġi miżjud mas-sistema, jitwettqu l-operazzjonijiet li ġejjin.

1. Id-direttorju tad-dar tiegħu/tagħha huwa maħluq (/home/username awtomatikament).

2. Il-fajls moħbija li ġejjin huma kkupjati fid-direttorju tad-dar tal-utent, u se jintużaw biex jipprovdu varjabbli ambjentali għas-sessjoni tal-utent tiegħu/tagħha.

.bash_logout
.bash_profile
.bashrc

3. Jinħoloq spool tal-posta għall-utent fuq /var/spool/mail/username.

4. Jinħoloq grupp u jingħata l-istess isem bħall-kont tal-utent il-ġdid.

L-informazzjoni sħiħa tal-kont hija maħżuna fil-fajl /etc/passwd. Dan il-fajl fih rekord għal kull kont tal-utent tas-sistema u għandu l-format li ġej (l-oqsma huma delimitati b'kolon).

[username]:[x]:[UID]:[GID]:[Comment]:[Home directory]:[Default shell]

  1. Oqsma [username] u [Kumment] jispjegaw lilhom infushom.
  2. It-x fit-tieni qasam tindika li l-kont huwa protett b'password shadowed (f'/etc/shadow), li hija meħtieġa biex tidħol bħala [isem l-utent].
  3. L-oqsma [UID] u [GID] huma numri interi li jirrappreżentaw l-Identifikazzjoni tal-Utent u l-Identifikazzjoni tal-Grupp primarja li għalihom [isem l-utent] jappartjeni, rispettivament.
  4. Id-[direttorju tad-dar] jindika t-triq assoluta għad-direttorju tad-dar ta’ [isem tal-utent], u
  5. Il-[Default shell] hija l-shell li se tkun disponibbli għal dan l-utent meta hu jew hi jidħol fis-sistema.

L-informazzjoni tal-grupp hija maħżuna fil-fajl /etc/group. Kull rekord għandu l-format li ġej.

[Group name]:[Group password]:[GID]:[Group members]

  1. [Isem tal-grupp] huwa l-isem tal-grupp.
  2. x f'[Password tal-grupp] tindika li l-passwords tal-grupp mhux qed jintużaw.
  3. [GID]: l-istess bħal f'/etc/passwd.
  4. [Membri tal-grupp]: lista separata b'virgola ta' utenti li huma membri ta' [Isem tal-grupp].

Wara li żżid kont, tista 'teditja l-informazzjoni li ġejja (biex insemmi ftit oqsma) billi tuża l-kmand usermod, li s-sintassi bażika tiegħu ta' usermod hija kif ġej.

# usermod [options] [username]

Uża l-marka –expiredate segwita minn data fil-format SSSS-XX-JJ.

# usermod --expiredate 2014-10-30 tecmint

Uża l-għażliet kombinati -aG, jew –append –gruppi, segwiti minn lista ta' gruppi separati minn virgola.

# usermod --append --groups root,users tecmint

Uża l-għażliet -d, jew –home, segwiti mill-mogħdija assoluta għad-direttorju tad-dar il-ġdid.

# usermod --home /tmp tecmint

Uża –shell, segwita mill-mogħdija għall-qoxra l-ġdida.

# usermod --shell /bin/sh tecmint
# groups tecmint
# id tecmint

Issa ejja tesegwixxi l-kmandi kollha ta 'hawn fuq f'daqqa waħda.

# usermod --expiredate 2014-10-30 --append --groups root,users --home /tmp --shell /bin/sh tecmint

Fl-eżempju ta 'hawn fuq, aħna se nissettjaw id-data ta' skadenza tal-kont tal-utent tecmint għat-30 ta 'Ottubru 2014. Aħna se nżidu wkoll il-kont mal-grupp tal-għeruq u tal-utenti. Fl-aħħarnett, se nissettjaw sh bħala l-qoxra default tagħha u nibdlu l-post tad-direttorju tad-dar għal /tmp:

Aqra wkoll:

  1. 15 Eżempji ta' Kmand useradd fil-Linux
  2. 15 Eżempji ta' Kmand usermod fil-Linux

Għal kontijiet eżistenti, nistgħu nagħmlu wkoll dan li ġej.

Uża l--L (L-majju) jew l-għażla –lock biex tissakkar il-password ta’ utent.

# usermod --lock tecmint

Uża l-għażla –u jew –unlock biex tiftaħ il-password ta’ utent li qabel kienet imblukkata.

# usermod --unlock tecmint

Mexxi s-serje ta 'kmandi li ġejjin biex tikseb l-għan.

# groupadd common_group # Add a new group
# chown :common_group common.txt # Change the group owner of common.txt to common_group
# usermod -aG common_group user1 # Add user1 to common_group
# usermod -aG common_group user2 # Add user2 to common_group
# usermod -aG common_group user3 # Add user3 to common_group

Tista 'tħassar grupp bil-kmand li ġej.

# groupdel [group_name]

Jekk ikun hemm fajls li huma proprjetà ta' group_name, dawn mhux se jitħassru, iżda s-sid tal-grupp ikun issettjat għall-GID tal-grupp li tħassar.

Permessi tal-Fajl tal-Linux

Minbarra l-permessi bażiċi għall-qari, il-kitba u l-eżekuzzjoni li ddiskutejna fl-Arkivjar Għodod u l-Issettjar tal-Attributi tal-Fajl – Parti 3 ta’ din is-sensiela, hemm settings oħra ta’ permess inqas użati (iżda mhux inqas importanti), xi kultant imsejħa \ permessi speċjali”.

Bħall-permessi bażiċi diskussi qabel, huma stabbiliti bl-użu ta 'fajl ottali jew permezz ta' ittra (notazzjoni simbolika) li tindika t-tip ta 'permess.

Tista' tħassar kont (flimkien mad-direttorju tad-dar tiegħu, jekk ikun proprjetà tal-utent, u l-fajls kollha li jirrisjedu fih, kif ukoll ir-rukkell tal-posta) billi tuża l-kmand userdel bil-–remove għażla.

# userdel --remove [username]

Kull darba li jiżdied kont tal-utent ġdid mas-sistema, jinħoloq grupp bl-istess isem bl-isem tal-utent bħala l-uniku membru tiegħu. Utenti oħra jistgħu jiġu miżjuda mal-grupp aktar tard. Wieħed mill-għanijiet tal-gruppi huwa li jimplimenta kontroll ta' aċċess sempliċi għal fajls u riżorsi oħra tas-sistema billi jistabbilixxu l-permessi t-tajbin fuq dawk ir-riżorsi.

Per eżempju, ejja ngħidu li għandek l-utenti li ġejjin.

  1. utent1 (grupp primarju: utent1)
  2. utent2 (grupp primarju: utent2)
  3. utent3 (grupp primarju: utent3)

Kollha kemm huma għandhom bżonn aċċess għal qari u tikteb għal fajl imsejjaħ common.txt li jinsab x'imkien fis-sistema lokali tiegħek, jew forsi fuq sehem tan-netwerk li utent1 ħoloq. Tista' titħajjar tagħmel xi ħaġa bħal,

# chmod 660 common.txt
OR
# chmod u=rw,g=rw,o= common.txt [notice the space between the last equal sign and the file name]

Madankollu, dan jipprovdi biss aċċess ta' qari u kitba lis-sid tal-fajl u lil dawk l-utenti li huma membri tal-grupp sid tal-fajl (utent1 f'dan il-każ). Għal darb'oħra, tista' tkun it-tentazzjoni li żżid user2 u user3 mal-grupp user1, iżda dan jagħtihom ukoll aċċess għall-bqija tal-fajls tal-proprjetà mill-utent utent1 u l-grupp utent1.

Dan huwa fejn il-gruppi jkunu utli, u hawn x'għandek tagħmel f'każ bħal dan.

Meta l-permess setuid jiġi applikat għal fajl eżekutibbli, utent li jmexxi l-programm jiret il-privileġġi effettivi tas-sid tal-programm. Peress li dan l-approċċ jista 'raġonevolment iqajjem tħassib dwar is-sigurtà, in-numru ta' fajls b'permess setuid għandu jinżamm għall-minimu. X'aktarx issib programmi b'dan is-sett ta' permess meta utent tas-sistema jeħtieġ li jaċċessa fajl proprjetà ta' root.

Fil-qosor, mhuwiex biss li l-utent jista 'jesegwixxi l-fajl binarju, iżda wkoll li jista' jagħmel dan bil-privileġġi ta 'l-għeruq. Pereżempju, ejja niċċekkjaw il-permessi ta' /bin/passwd. Dan il-binarju jintuża biex jibdel il-password ta' kont, u jimmodifika l-fajl /etc/shadow. Is-superuser jista’ jibdel il-password ta’ kulħadd, iżda l-utenti l-oħra kollha għandhom ikunu jistgħu jibdlu biss tagħhom stess.

Għalhekk, kull utent għandu jkollu permess biex iħaddem /bin/passwd, iżda root biss ikun jista 'jispeċifika kont. Utenti oħra jistgħu jibdlu biss il-passwords korrispondenti tagħhom.

Meta l-setgid bit jiġi ssettjat, il-GID effettiv tal-utent reali jsir dak tas-sid tal-grupp. Għalhekk, kull utent jista' jaċċessa fajl taħt il-privileġġi mogħtija lis-sid tal-grupp ta' tali fajl. Barra minn hekk, meta l-bit setgid jiġi ssettjat fuq direttorju, fajls maħluqa ġodda jirtu l-istess grupp bħad-direttorju, u subdirettorji maħluqa ġodda se jirtu wkoll il-bit setgid tad-direttorju ġenitur. X'aktarx se tuża dan l-approċċ kull meta membri ta 'ċertu grupp jeħtieġu aċċess għall-fajls kollha f'direttorju, irrispettivament mill-grupp primarju tas-sid tal-fajl.

# chmod g+s [filename]

Biex issettja s-setgid f'forma ottali, qabbad in-numru 2 mal-permessi bażiċi attwali (jew mixtieqa).

# chmod 2755 [directory]

Meta l-\sticky bit ikun issettjat fuq il-fajls, Linux sempliċement jinjoraha, filwaqt li għad-direttorji għandu l-effett li jipprevjeni lill-utenti milli jħassru jew saħansitra jibdlu l-isem tal-fajls li jkun fih sakemm l-utent ma jkollux id-direttorju, il-fajl, jew huwa għerq.

# chmod o+t [directory]

Biex tissettja l-isticky bit f'forma ottali, qabbad in-numru 1 mal-permessi bażiċi attwali (jew mixtieqa).

# chmod 1755 [directory]

Mingħajr il-bit li jwaħħal, kull min jista 'jikteb fid-direttorju jista' jħassar jew semmi mill-ġdid il-fajls. Għal dik ir-raġuni, il-bit li jwaħħal huwa komunement misjub fuq direttorji, bħal /tmp, li jistgħu jinkitbu fid-dinja.

Attributi Speċjali tal-Fajl tal-Linux

Hemm attributi oħra li jippermettu aktar limiti fuq l-operazzjonijiet li huma permessi fuq il-fajls. Pereżempju, jipprevjeni li l-fajl jingħata isem ġdid, jitmexxa, jitħassar jew saħansitra jiġi modifikat. Huma ssettjati bil-kmand chattr u jistgħu jitqiesu bl-użu tal-għodda lsattr, kif ġej.

# chattr +i file1
# chattr +a file2

Wara li tesegwixxi dawk iż-żewġ kmandi, file1 se jkun immutabbli (li jfisser li ma jistax jiġi mċaqlaq, isem ġdid, immodifikat jew imħassra) filwaqt li file2 jidħol fil-mod ta' append-only (jista' biss miftuħa fil-modalità append għall-kitba).

Aċċess għall-Kont għerq u Tuża sudo

Wieħed mill-modi kif l-utenti jistgħu jiksbu aċċess għall-kont root huwa billi jittajpja.

$ su

u mbagħad daħħal il-password tal-għeruq.

Jekk l-awtentikazzjoni tirnexxi, inti tkun illoggjat bħala root bid-direttorju tax-xogħol attwali bħall-istess bħalma kont qabel. Jekk minflok trid titqiegħed fid-direttorju tad-dar tal-għeruq, mexxi.

$ su -

u mbagħad daħħal il-password tal-għeruq.

Il-proċedura ta 'hawn fuq teħtieġ li utent normali jkun jaf il-password ta' root, li toħloq riskju serju għas-sigurtà. Għal dik ir-raġuni, is-sysadmin jista 'jikkonfigura l-kmand sudo biex jippermetti utent ordinarju jesegwixxi kmandi bħala utent differenti (ġeneralment is-superuser) b'mod ikkontrollat u limitat ħafna. Għalhekk, restrizzjonijiet jistgħu jiġu stabbiliti fuq utent sabiex ikun jista’ jmexxi kmandi privileġġjati speċifiċi wieħed jew aktar u l-ebda oħrajn.

Aqra wkoll: Differenza Bejn l-Utent su u sudo

Biex jawtentika bl-użu ta' sudo, l-utent juża l-password tiegħu/tagħha stess. Wara li ddaħħal il-kmand, se nkunu mħeġġa għall-password tagħna (mhux tas-superuser) u jekk l-awtentikazzjoni tirnexxi (u jekk l-utent ikun ingħata privileġġi biex imexxi l-kmand), il-kmand speċifikat jitwettaq.

Biex jagħti aċċess għal sudo, l-amministratur tas-sistema għandu jeditja l-fajl /etc/sudoers. Huwa rakkomandat li dan il-fajl jiġi editjat bl-użu tal-kmand visudo minflok jinfetaħ direttament b'editur tat-test.

# visudo

Dan jiftaħ il-fajl /etc/sudoers billi tuża vim (tista 'ssegwi l-istruzzjonijiet mogħtija f' Installa u Uża vim bħala Editur – Parti 2 ta' din is-serje biex teditja l-fajl).

Dawn huma l-aktar linji rilevanti.

Defaults    secure_path="/usr/sbin:/usr/bin:/sbin"
root        ALL=(ALL) ALL
tecmint     ALL=/bin/yum update
gacanepa    ALL=NOPASSWD:/bin/updatedb
%admin      ALL=(ALL) ALL

Ejja nagħtu ħarsa aktar mill-qrib lejhom.

Defaults    secure_path="/usr/sbin:/usr/bin:/sbin:/usr/local/bin"

Din il-linja tħallik tispeċifika d-direttorji li se jintużaw għal sudo, u tintuża biex tipprevjeni li tuża direttorji speċifiċi għall-utent, li jistgħu jagħmlu ħsara lis-sistema.

Il-linji li jmiss jintużaw biex jispeċifikaw il-permessi.

root        ALL=(ALL) ALL

  1. L-ewwel kelma prinċipali ALL tindika li din ir-regola tapplika għall-hosts kollha.
  2. It-tieni ALL jindika li l-utent fl-ewwel kolonna jista’ jmexxi kmandi bil-privileġġi ta’ kwalunkwe utent.
  3. It-tielet ALL tfisser kwalunkwe kmand jista' jitmexxa.

tecmint     ALL=/bin/yum update

Jekk l-ebda utent ma jiġi speċifikat wara s-sinjal =, sudo jassumi l-utent root. F'dan il-każ, l-utent tecmint ikun jista' jmexxi yum update bħala root.

gacanepa    ALL=NOPASSWD:/bin/updatedb

Id-direttiva NOPASSWD tippermetti lill-utent gacanepa imexxi /bin/updatedb mingħajr il-bżonn li jdaħħal il-password tiegħu.

%admin      ALL=(ALL) ALL

Is-sinjal % jindika li din il-linja tapplika għal grupp imsejjaħ \admin. It-tifsira tal-bqija tal-linja hija identika għal dik ta' utent regolari. Dan ifisser li l-membri tal-grupp \admin” jistgħu jmexxu l-kmandi kollha bħala kwalunkwe utent fuq l-hosts kollha.

Biex tara liema privileġġi jingħatawlek minn sudo, uża l-għażla \-l” biex telenkahom.

PAM (Moduli ta' Awtentikazzjoni Pluggable)

Moduli ta’ Awtentikazzjoni Pluggable (PAM) joffru l-flessibbiltà li jistabbilixxu skema speċifika ta’ awtentikazzjoni fuq bażi ta’ kull applikazzjoni u/jew kull servizz bl-użu ta’ moduli. Din l-għodda preżenti fuq id-distribuzzjonijiet moderni kollha tal-Linux għelbet il-problema li spiss iħabbtu wiċċhom magħhom l-iżviluppaturi fl-ewwel jiem tal-Linux, meta kull programm li kien jeħtieġ awtentikazzjoni kellu jiġi kkompilat apposta biex tkun taf kif tikseb l-informazzjoni meħtieġa.

Pereżempju, bil-PAM, ma jimpurtax jekk il-password tiegħek tkunx maħżuna f'/etc/shadow jew fuq server separat ġewwa n-netwerk tiegħek.

Pereżempju, meta l-programm tal-login jeħtieġ li jawtentika utent, PAM jipprovdi b'mod dinamiku l-librerija li fiha l-funzjonijiet għall-iskema ta' awtentikazzjoni t-tajba. Għalhekk, il-bdil tal-iskema ta' awtentikazzjoni għall-applikazzjoni tal-login (jew kwalunkwe programm ieħor li juża PAM) huwa faċli peress li jinvolvi biss l-editjar ta' fajl ta' konfigurazzjoni (x'aktarx, fajl imsemmi wara l-applikazzjoni, li jinsab ġewwa /etc/pam.d , u inqas probabbli f'/etc/pam.conf).

Fajls ġewwa /etc/pam.d jindikaw liema applikazzjonijiet qed jużaw PAM b'mod nattiv. Barra minn hekk, nistgħu ngħidu jekk ċerta applikazzjoni tużax PAM billi niċċekkjaw jekk il-librerija tal-PAM (libpam) ġietx marbuta magħha:

# ldd $(which login) | grep libpam # login uses PAM
# ldd $(which top) | grep libpam # top does not use PAM

Fl-immaġni ta 'hawn fuq nistgħu naraw li l-libpam ġie marbut mal-applikazzjoni tal-login. Dan jagħmel sens peress li din l-applikazzjoni hija involuta fl-operat tal-awtentikazzjoni tal-utent tas-sistema, filwaqt li top ma tagħmilx dan.

Ejja neżaminaw il-fajl tal-konfigurazzjoni PAM għal passwd - iva, l-utilità magħrufa biex tbiddel il-passwords tal-utent. Hija tinsab fuq /etc/pam.d/passwd:

# cat /etc/passwd

L-ewwel kolonna tindika t-tip ta’ awtentikazzjoni li għandha tintuża mal-module-path (it-tielet kolonna). Meta sing jidher qabel it-tip, PAM mhux se jirreġistra fil-log tas-sistema jekk il-modulu ma jistax jitgħabba minħabba li ma setax jinstab fis-sistema.

It-tipi ta' awtentikazzjoni li ġejjin huma disponibbli:

  1. kont: dan it-tip ta' modulu jiċċekkja jekk l-utent jew is-servizz ipprovdax kredenzjali validi biex jawtentika.
  2. auth: dan it-tip ta' modulu jivverifika li l-utent huwa dak li jiddikjara li hu u jagħti kwalunkwe privileġġ meħtieġ.
  3. password: dan it-tip ta' modulu jippermetti lill-utent jew is-servizz jaġġorna l-password tagħhom.
  4. sessjoni: dan it-tip ta' modulu jindika x'għandu jsir qabel u/jew wara li l-awtentikazzjoni tirnexxi.

It-tieni kolonna (imsejħa kontroll) tindika x'għandu jiġri jekk l-awtentikazzjoni b'dan il-modulu tfalli:

  1. rekwiżit: jekk l-awtentikazzjoni permezz ta' dan il-modulu tfalli, l-awtentikazzjoni ġenerali tiġi miċħuda immedjatament.
  2. meħtieġa hija simili għal meħtieġa, għalkemm il-moduli l-oħra kollha elenkati għal dan is-servizz se jissejħu qabel ma tiċħad l-awtentikazzjoni.
  3. suffiċjenti: jekk l-awtentikazzjoni permezz ta' dan il-modulu tfalli, il-PAM xorta se tagħti awtentikazzjoni anki jekk falla preċedenti mmarkata bħala meħtieġa.
  4. fakultattiv: jekk l-awtentikazzjoni permezz ta' dan il-modulu tfalli jew tirnexxi, ma jiġri xejn sakemm dan ma jkunx l-uniku modulu tat-tip tiegħu definit għal dan is-servizz.
  5. inkludi tfisser li l-linji tat-tip partikolari għandhom jinqraw minn fajl ieħor.
  6. substack huwa simili għal includes iżda fallimenti jew suċċessi ta' awtentikazzjoni ma jikkawżawx il-ħruġ tal-modulu sħiħ, iżda biss tas-substack.

Ir-raba' kolonna, jekk teżisti, turi l-argumenti li għandhom jiġu mgħoddija lill-modulu.

L-ewwel tliet linji f'/etc/pam.d/passwd (li muri hawn fuq), tagħbija l-modulu ta' awtorizzazzjoni tas-sistema biex tivverifika li l-utent ipprovda kredenzjali validi (kont). Jekk iva, tippermettilu/lha li jibdel it-token tal-awtentikazzjoni (password) billi jagħti permess biex juża passwd (auth).

Per eżempju, jekk tehmeż

remember=2

għal-linja li ġejja

password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok

f'/etc/pam.d/system-auth:

password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok remember=2

l-aħħar żewġ passwords hashed ta' kull utent jiġu ssejvjati f'/etc/security/opasswd sabiex ma jkunux jistgħu jerġgħu jintużaw:

Sommarju

Utenti effettivi u ħiliet ta 'ġestjoni tal-fajls huma għodda essenzjali għal kwalunkwe amministratur tas-sistema. F'dan l-artikolu koprejna l-affarijiet bażiċi u nittamaw li tista 'tużah bħala punt ta' bidu tajjeb biex tibni fuqha. Ħossok liberu li tħalli l-kummenti jew il-mistoqsijiet tiegħek hawn taħt, u aħna nwieġbu malajr.