Permessi fil-Linux (chown, chmod, SUID, GUID, sticky bit, ACL, umask)

Hi kollha. Din hija traduzzjoni ta 'artiklu mill-ktieb RedHat RHCSA RHCE 7 RedHat Enterprise Linux 7 EX200 u EX300.

Imbotta: Nittama li l-artiklu jkun utli mhux biss għal dawk li jibdew, iżda jgħin ukoll lill-amministraturi b'aktar esperjenza jissimplifikaw l-għarfien tagħhom.

Mela ejja.

Permessi fil-Linux (chown, chmod, SUID, GUID, sticky bit, ACL, umask)

Biex taċċessa fajls fil-Linux, jintużaw permessi. Dawn il-permessi huma assenjati għal tliet oġġetti: is-sid tal-fajl, is-sid tal-grupp, u oġġett ieħor (jiġifieri, kulħadd). F'dan l-artikolu, int ser titgħallem kif tapplika l-permessi.

Dan l-artikolu jibda b'ħarsa ġenerali lejn il-kunċetti bażiċi, segwita minn diskussjoni ta 'Permessi Speċjali u Listi ta' Kontroll ta 'Aċċess (ACLs). Fl-aħħar ta 'dan l-artikolu, inkopru l-issettjar ta' permessi awtomatiċi permezz ta 'umask, kif ukoll il-ġestjoni ta' attributi tal-utent estiżi.

Ġestjoni tas-sjieda tal-fajls

Qabel ma tiddiskuti l-permessi, għandek tkun konxju tar-rwol tas-sid tal-fajl u tad-direttorju. Is-sjieda ta' fajls u direttorji hija vitali biex jiġu ttrattati l-permessi. F'din it-taqsima, l-ewwel titgħallem kif tista' tara lis-sid. Imbagħad titgħallem kif tibdel is-sid tal-grupp u l-utent għall-fajls u direttorji.

Li juri s-sid ta' fajl jew direttorju

Fil-Linux, kull fajl u kull direttorju għandu żewġ sidien: utent u sid ta 'grupp.

Dawn is-sidien huma stabbiliti meta jinħoloq fajl jew direttorju. L-utent li joħloq il-fajl isir is-sid ta' dak il-fajl, u l-grupp primarju li jappartjeni għalih l-istess utent isir ukoll is-sid ta' dak il-fajl. Biex tiddetermina jekk int, bħala utent, għandekx permess biex taċċessa fajl jew direttorju, il-qoxra tikkontrolla s-sjieda.

Dan jiġri fl-ordni li ġejja:

  1. Il-qoxra tiċċekkja biex tara jekk intix is-sid tal-fajl li trid taċċessa. Jekk int is-sid, ikollok permessi u l-qoxra tieqaf tiċċekkja.
  2. Jekk m'intix is-sid tal-fajl, il-qoxra se tiċċekkja biex tara jekk intix membru ta 'grupp li għandu permessi fuq il-fajl. Jekk int membru ta 'dan il-grupp, ikollok aċċess għall-fajl bil-permessi li l-grupp stabbilixxa, u l-qoxra tieqaf tiċċekkja.
  3. Jekk la int utent u lanqas sid ta' grupp, tingħata d-drittijiet ta' utenti oħra (Oħrajn).

Biex tara l-inkarigi tas-sid attwali, tista 'tuża l-kmand ls-l. Dan il-kmand juri l-utent u s-sid tal-grupp. Hawn taħt tista 'tara s-settings tas-sid għad-direttorji fid-direttorju /home.

[root@server1 home]# ls -l
total 8
drwx------. 3  bob            bob            74     Feb   6   10:13 bob
drwx------. 3  caroline       caroline       74     Feb   6   10:13 caroline
drwx------. 3  fozia          fozia          74     Feb   6   10:13 fozia
drwx------. 3  lara           lara           74     Feb   6   10:13 lara
drwx------. 5  lisa           lisa           4096   Feb   6   10:12 lisa
drwx------. 14 user           user           4096   Feb   5   10:35 user

Bl-użu tal-kmand ls tista' turi s-sid tal-fajls f'direttorju partikolari. Xi drabi jista 'jkun utli li tikseb lista tal-fajls kollha fis-sistema li għandhom utent jew grupp partikolari bħala s-sid. Għal dan tista 'tuża isibu. Argument issib-utent jistgħu jintużaw għal dan il-għan. Pereżempju, il-kmand li ġej jelenka l-fajls kollha li huma proprjetà tal-utent linda:

find / -user linda

Tista 'tuża wkoll isibu biex tfittex fajls li għandhom ċertu grupp bħala sidhom.

Pereżempju, il-kmand li ġej ifittex il-fajls kollha li jappartjenu għall-grupp utenti:

find / -group users

Bidla tas-sid

Biex tapplika l-permessi xierqa, l-ewwel ħaġa li għandek tikkonsidra hija s-sjieda. Hemm kmand għal dan chown. Is-sintassi ta 'dan il-kmand hija faċli biex tinftiehem:

chown кто что

Pereżempju, il-kmand li ġej jibdel is-sid tad-direttorju /home/account għall-utent linda:

chown linda /home/account

Team chown għandha diversi għażliet, li waħda minnhom hija partikolarment utli: -R. Tista' taqta' x'tagħmel għax din l-għażla hija disponibbli għal ħafna kmandi oħra wkoll. Dan jippermettilek li tissettja b'mod rikorsiv is-sid, li jippermettilek li tissettja s-sid tad-direttorju attwali u dak kollu hawn taħt. Il-kmand li ġej jibdel is-sjieda tad-direttorju /home u dak kollu taħtu lill-utent linda:

Issa s-sidien jidhru bħal dan:

[root@localhost ~]# ls -l /home
total 0
drwx------. 2 account account 62 Sep 25 21:41 account
drwx------. 2 lisa    lisa    62 Sep 25 21:42 lisa

Ejja nagħmlu:

[root@localhost ~]# chown -R lisa /home/account
[root@localhost ~]#

Issa l-utent lisa sar is-sid tad-direttorju tal-kont:

[root@localhost ~]# ls -l /home
total 0
drwx------. 2 lisa account 62 Sep 25 21:41 account
drwx------. 2 lisa lisa    62 Sep 25 21:42 lisa

Ibdel is-sid ta 'grupp

Hemm żewġ modi kif tinbidel is-sjieda ta' grupp. Tista 'tagħmel dan bl-użu chown, iżda hemm kmand speċjali jismu chgrpli jagħmel ix-xogħol. Jekk trid tuża l-kmand chown, uża . jew : quddiem l-isem tal-grupp.

Il-kmand li ġej jibdel kwalunkwe sid tal-grupp /home/account għall-grupp tal-kont:

chown .account /home/account

tista 'tuża chown biex tibdel is-sid ta' utent u/jew grupp b'diversi modi. Hawn huma xi eżempji:

  • chown lisa myfile1 jistabbilixxi lill-utent lisa bħala s-sid ta' myfile1.
  • chown lisa.sales myfile jistabbilixxi l-utent lisa bħala s-sid tal-fajl myfile, u jistabbilixxi wkoll il-grupp tal-bejgħ bħala s-sid tal-istess fajl.
  • chown lisa:sales myfile l-istess bħall-kmand preċedenti.
  • chown .sales myfile jistabbilixxi l-grupp tal-bejgħ bħala s-sid tal-myfile mingħajr ma jibdel is-sid tal-utent.
  • chown :sales myfile l-istess bħall-kmand preċedenti.

Tista 'tuża l-kmand chgrpbiex jibdel is-sid tal-grupp. Ikkunsidra l-eżempju li ġej, fejn tista 'tuża chgrp issettja s-sid tad-direttorju tal-kont għall-grupp tal-bejgħ:

chgrp .sales /home/account

Bħal ma chown, tista' tuża l-għażla -R с chgrp, kif ukoll jibdlu b'mod rikorsiv is-sid tal-grupp.

Nifhmu s-Sid Default

Forsi tkun innotajt li meta utent joħloq fajl, tiġi applikata s-sjieda awtomatika.
L-utent li joħloq il-fajl awtomatikament isir is-sid ta' dak il-fajl, u l-grupp primarju ta' dak l-utent awtomatikament isir is-sid ta' dak il-fajl. Dan huwa ġeneralment il-grupp li huwa elenkat fil-fajl /etc/passwd bħala l-grupp primarju tal-utent. Madankollu, jekk l-utent huwa membru ta 'aktar minn grupp wieħed, l-utent jista' jibdel il-grupp primarju effettiv.

Biex turi l-grupp primarju effettiv attwali, l-utent jista 'juża l-kmand gruppi:

[root@server1 ~]# groups lisa
lisa : lisa account sales

Jekk l-utent linda attwali jrid ibiddel il-grupp primarju effettiv, huwa juża l-kmand grupp ġdidsegwit mill-isem tal-grupp li jrid jistabbilixxi bħala l-grupp primarju effettiv il-ġdid. Wara li tuża l-kmand grupp ġdid il-grupp primarju se jkun attiv sakemm l-utent jidħol kmand ħruġ jew le log out.

Dan li ġej juri kif l-utent linda juża dan il-kmand, bil-bejgħ bħala l-grupp primarju:

lisa@server1 ~]$ groups
lisa account sales
[lisa@server1 ~]$ newgrp sales
[lisa@server1 ~]$ groups
sales lisa account
[lisa@server1 ~]$ touch file1
[lisa@server1 ~]$ ls -l
total 0
-rw-r--r--. 1 lisa sales 0 Feb 6 10:06 file1

Wara li tbiddel il-grupp primarju effettiv, il-fajls ġodda kollha maħluqa mill-utent se jkollhom dak il-grupp bħala s-sid tal-grupp. Biex terġa' lura għall-issettjar oriġinali tal-grupp primarju, uża ħruġ.

Biex tkun tista' tuża l-kmand grupp ġdid, l-utent irid ikun membru tal-grupp li jrid juża bħala l-grupp primarju. Barra minn hekk, password tal-grupp tista 'tintuża għal grupp bl-użu tal-kmand gpasswd. Jekk l-utent juża l-kmand grupp ġdidiżda mhux membru tal-grupp fil-mira, il-qoxra tħeġġeġ il-password tal-grupp. Wara li ddaħħal il-password korretta tal-grupp, jiġi stabbilit grupp primarju effettiv ġdid.

Ġestjoni tad-drittijiet fundamentali

Is-sistema tal-permessi tal-Linux ġiet ivvintata fis-snin sebgħin. Peress li l-ħtiġijiet tal-kompjuters kienu limitati f'dawk is-snin, is-sistema bażika tal-permess kienet pjuttost limitata. Din is-sistema tal-permessi tuża tliet permessi li jistgħu jiġu applikati għall-fajls u direttorji. F'din it-taqsima, titgħallem kif tuża u tibdel dawn il-permessi.

Nifhmu l-Permessi ta' Aqra, Tikteb u Eżegwixxi

Tliet permessi bażiċi jippermettulek taqra, tikteb u tesegwixxi fajls. L-effett ta' dawn il-permessi jvarja meta jiġu applikati għal fajls jew direttorji. Għal fajl, il-permess tal-qari jagħtik id-dritt li tiftaħ il-fajl għall-qari. Għalhekk, tista 'taqra l-kontenut tagħha, iżda dan ifisser li l-kompjuter tiegħek jista' jiftaħ il-fajl biex jagħmel xi ħaġa miegħu.

Fajl tal-programm li jeħtieġ aċċess għal librerija għandu, pereżempju, ikollu aċċess għall-qari għal dik il-librerija. Minn dan isegwi li l-permess tal-qari huwa l-aktar permess bażiku li għandek bżonn biex taħdem mal-fajls.

Meta applikat għal direttorju, il-qari jippermettilek turi l-kontenut ta 'dak id-direttorju. Għandek tkun konxju li dan il-permess ma jippermettix li taqra l-fajls fid-direttorju. Is-sistema tal-permessi tal-Linux ma tafx il-wirt, u l-uniku mod biex taqra fajl huwa li tuża permessi tal-qari fuq dak il-fajl.

Kif probabilment tista' taħsbu, il-permess tal-kitba, jekk jiġi applikat għal fajl, jippermetti l-kitba fil-fajl. Fi kliem ieħor, jippermettilek tibdel il-kontenut tal-fajls eżistenti. Madankollu, ma tippermettix li toħloq jew tħassar fajls ġodda jew tibdel il-permessi tal-fajls. Biex tagħmel dan, għandek bżonn tagħti permess ta 'kitba lid-direttorju fejn trid toħloq il-fajl. Fid-direttorji, dan il-permess jippermettilek ukoll li toħloq u tħassar subdirettorji ġodda.

Teżegwixxi permess huwa dak li għandek bżonn biex tesegwixxi l-fajl. Qatt mhu se jkun installat b'mod awtomatiku, li jagħmel Linux kważi kompletament immuni għall-viruses. Xi ħadd biss b'permessi ta 'kitba fuq id-direttorju jista' japplika permess ta 'eżekuzzjoni.

Dan li ġej jiġbor fil-qosor l-użu tal-permessi bażiċi:

Permessi fil-Linux (chown, chmod, SUID, GUID, sticky bit, ACL, umask)

Bl-użu ta 'chmod

Il-kmand jintuża biex jimmaniġġja l-permessi. chmod. Bl-użu chmod tista' tissettja permessi għall-utent (utent), gruppi (grupp) u oħrajn (oħrajn). Tista 'tuża dan il-kmand f'żewġ modi: modalità relattiva u modalità assoluta. Fil-modalità assoluta, tliet ċifri jintużaw biex jiġu stabbiliti permessi bażiċi.

Permessi fil-Linux (chown, chmod, SUID, GUID, sticky bit, ACL, umask)

Meta tissettja l-permessi, ikkalkula l-valur li għandek bżonn. Jekk trid tissettja taqra/tikteb/eżekuzzjoni għall-utent, aqra/eżekuzzjoni għall-grupp, u aqra/eżekuzzjoni għal oħrajn f'/xi fajl allura tuża l-kmand li ġej chmod:

chmod 755 /somefile

Meta tuża chmod b'dan il-mod, il-permessi kurrenti kollha jiġu sostitwiti bil-permessi li ssettja.

Jekk trid tibdel il-permessi relattivi għall-permessi attwali, tista 'tuża chmod fil-mod relattiv. Bl-użu chmod fil-mod relattiv taħdem bi tliet indikaturi biex tindika dak li trid tagħmel:

  1. L-ewwel inti tispeċifika għal min trid tibdel il-permessi. Biex tagħmel dan, tista' tagħżel bejn l-utent (u), grupp (g) u oħrajn (o).
  2. Imbagħad tuża dikjarazzjoni biex iżżid jew tneħħi permessi mill-mod attwali, jew issettjahom assolutament.
  3. Fl-aħħar tuża r, w и xbiex tispeċifika liema permessi trid tissettja.

Meta tbiddel il-permessi fil-mod relattiv, tista 'taqbeż il-parti "għal" biex iżżid jew tneħħi l-permess għall-oġġetti kollha. Pereżempju, dan il-kmand iżid il-permess ta' eżekuzzjoni għall-utenti kollha:

chmod +x somefile

Meta taħdem fil-mod relattiv, tista 'wkoll tuża kmandi aktar kumplessi. Pereżempju, dan il-kmand iżid il-permess tal-kitba lil grupp u jneħħi l-permess tal-qari għal oħrajn:

chmod g+w,o-r somefile

Meta jintuża l- chmod -R o+rx /data issettja l-permess ta' eżekuzzjoni għad-direttorji kollha kif ukoll għall-fajls fid-direttorju /data. Biex tissettja permess ta 'eżekuzzjoni biss għad-direttorji u mhux għall-fajls, uża chmod -R o+ rX /data.

L-akbar X jiżgura li l-fajls ma jiksbux permess ta’ eżekuzzjoni sakemm il-fajl ma jkunx diġà stabbilixxa permess ta’ eżekuzzjoni għal xi oġġetti. Dan jagħmel X mod aktar intelliġenti biex tittratta l-permessi ta 'eżekuzzjoni; dan jevita li jistabbilixxi dan il-permess fuq fajls fejn mhux meħtieġ.

Drittijiet estiżi

Minbarra l-permessi bażiċi li għadek kif qrajt dwarhom, Linux għandu wkoll sett ta 'permessi avvanzati. Dawn mhumiex il-permessi li ssettja awtomatikament, iżda xi drabi jipprovdu żieda utli. F'din it-taqsima, titgħallem x'inhuma u kif twaqqafhom.

Nifhmu SUID, GUID, u Permessi Estiżi Sticky Bit

Hemm tliet permessi avvanzati. L-ewwel minn dawn huwa l-permess biex jiġi stabbilit identifikatur tal-utent (SUID). F'xi każijiet speċjali, tista' tapplika dan il-permess għal fajls eżekutibbli. B'mod awtomatiku, utent li jmexxi eżekutibbli jmexxi dak il-fajl bil-permessi tiegħu stess.

Għall-utenti ordinarji, dan normalment ifisser li l-użu tal-programm huwa limitat. Madankollu, f'xi każijiet, l-utent jeħtieġ permessi speċjali, biss biex iwettaq kompitu speċifiku.

Ikkunsidra, pereżempju, sitwazzjoni fejn utent jeħtieġ li jibdel il-password tiegħu. Biex tagħmel dan, l-utent għandu jikteb il-password il-ġdid tiegħu fil-fajl /etc/shadow. Madankollu, dan il-fajl ma jistax jinkiteb minn utenti mhux root:

root@hnl ~]# ls -l /etc/shadow
----------. 1 root root 1184 Apr 30 16:54 /etc/shadow

Il-permess SUID joffri soluzzjoni għal din il-problema. L-utilità /usr/bin/passwd tuża dan il-permess b'mod awtomatiku. Dan ifisser li meta tbiddel il-password, l-utent temporanjament isir għerq, li jippermettilu jikteb fil-fajl /etc/shadow. Tista 'tara l-permess SUID ma' ls-l kif s f’pożizzjoni fejn normalment tistenna li tara x għal permessi tad-dwana:

[root@hnl ~]# ls -l /usr/bin/passwd
-rwsr-xr-x. 1 root root 32680 Jan 28 2010 /usr/bin/passwd

Il-permess SUID jista 'jidher utli (u f'xi każijiet huwa), iżda fl-istess ħin huwa potenzjalment perikoluż. Jekk ma tiġix applikata b'mod korrett, tista 'aċċidentalment tagħti permessi għall-għeruq. Għalhekk, nirrakkomanda li tużaha biss bl-akbar attenzjoni.

Ħafna mill-amministraturi qatt mhu se jkollhom bżonn jużawha; taraha biss f'xi fajls fejn is-sistema operattiva għandha tissettjaha awtomatikament.

It-tieni permess speċjali huwa l-identifikatur tal-grupp (SGID). Dan il-permess għandu żewġ effetti. Meta tiġi applikata għal fajl eżekutibbli, tagħti lill-utent li jesegwixxi l-fajl il-permessi tas-sid tal-grupp tal-fajl. Allura SGID jista 'jagħmel bejn wieħed u ieħor l-istess ħaġa bħal SUID. Madankollu, SGID prattikament ma jintużax għal dan il-għan.

Bħal fil-każ tal-permess SUID, SGID jiġi applikat għal xi fajls tas-sistema bħala setting default.

Meta applikat għal direttorju, l-SGID jista 'jkun utli għaliex tista' tużaha biex tissettja s-sid tal-grupp default għal fajls u subdirettorji maħluqa f'dak id-direttorju. B'mod awtomatiku, meta utent joħloq fajl, il-grupp primarju effettiv tiegħu huwa stabbilit bħala s-sid tal-grupp għal dak il-fajl.

Dan mhux dejjem huwa utli ħafna, speċjalment peress li l-utenti ta 'Red Hat/CentOS għandhom il-grupp primarju tagħhom issettjat għal grupp bl-istess isem tal-utent, u li tiegħu l-utent huwa l-uniku membru. Għalhekk, b'mod awtomatiku, il-fajls li joħloq l-utent se jiġu kondiviżi bl-ingrossa.

Immaġina sitwazzjoni fejn l-utenti linda u lori jaħdmu fil-kontabilità u huma membri ta 'grupp kont. B'mod awtomatiku, dawn l-utenti huma membri ta' grupp privat li tiegħu huma l-uniku membru. Madankollu, iż-żewġ utenti huma membri tal-grupp tal-kont, iżda wkoll bħala parametru sekondarju tal-grupp.

Is-sitwazzjoni awtomatika hija li meta xi wieħed minn dawn l-utenti joħloq fajl, il-grupp primarju jsir is-sid. Għalhekk, b'mod awtomatiku, linda ma tistax taċċessa fajls maħluqa minn lori, u viċi versa. Madankollu, jekk toħloq direttorju tal-grupp kondiviż (jiġifieri /groups/account) u tiżgura li l-permess SGID jiġi applikat għal dak id-direttorju u li l-kont tal-grupp ikun issettjat bħala s-sid tal-grupp għal dak id-direttorju, il-fajls kollha maħluqa f’dak id-direttorju u kollha tas-subdirettorji tagħha , tikseb ukoll il-kont tal-grupp bħala s-sid tal-grupp awtomatikament.

Għal din ir-raġuni, il-permess SGID huwa permess utli ħafna biex jiġi stabbilit fuq direttorji tal-gruppi pubbliċi.

Permess SGID muri fl-output ls-l kif s fil-pożizzjoni fejn normalment issib permess biex tesegwixxi grupp:

[root@hnl data]# ls -ld account
drwxr-sr-x. 2 root account 4096 Apr 30 21:28 account

It-tielet tal-permessi speċjali huwa l-bit li jwaħħal. Dan il-permess huwa utli biex jipproteġi fajls minn tħassir aċċidentali f'ambjent fejn diversi utenti għandhom aċċess għall-kitba għall-istess direttorju. Jekk tintuża bit li twaħħal, utent jista' jħassar fajl biss jekk ikun is-sid tal-utent tal-fajl jew tad-direttorju li fih il-fajl. Għal din ir-raġuni, huwa użat bħala l-permess default għad-direttorju /tmp u jista 'jkun utli għad-direttorji tal-gruppi pubbliċi wkoll.

Mingħajr il-bit li jwaħħal, jekk l-utent jista 'joħloq fajls f'direttorju, jista' wkoll iħassar fajls minn dak id-direttorju. F'ambjent ta 'grupp pubbliku, dan jista' jkun tedjanti. Immaġina l-utenti linda u lori, li t-tnejn għandhom il-permessi tal-kitba fid-direttorju /data/account u jiksbu dawk il-permessi billi jkunu membri tal-grupp tal-kontijiet. Għalhekk, linda tista 'tħassar fajls maħluqa minn lori u viċi versa.

Meta tapplika l-bit li jwaħħal, l-utent jista' jħassar fajls biss jekk waħda mill-kundizzjonijiet li ġejjin tkun vera:

  • L-utent huwa s-sid tal-fajl;
  • L-utent huwa s-sid tad-direttorju fejn jinsab il-fajl.

Meta jintuża l- ls-l, tista 'tara l-bit twaħħal bħala t fil-pożizzjoni fejn normalment tara permess ta' eżekuzzjoni għal oħrajn:

[root@hnl data]# ls -ld account/
drwxr-sr-t. 2 root account 4096 Apr 30 21:28 account/

Applikazzjoni ta' drittijiet estiżi

Biex tapplika SUID, SGID u sticky bit tista 'wkoll tuża chmod. SUID għandu valur numeriku ta '4, SGID għandu valur numeriku ta' 2, u bit twaħħal għandu valur numeriku ta '1.

Jekk trid tapplika dawn il-permessi, trid iżżid argument ta' erba' ċifri chmod, li l-ewwel ċifra tiegħu tirreferi għal permessi speċjali. Il-linja li ġejja, pereżempju, se żżid il-permess SGID fid-direttorju u tistabbilixxi rwx għall-utent u rx għall-grupp u oħrajn:

chmod 2755 /somedir

Dan huwa pjuttost imprattikabbli jekk għandek bżonn tara l-permessi attwali li huma stabbiliti qabel taħdem magħhom chmod fil-modalità assoluta. (Int tirriskja li tikteb fuqhom il-permessi jekk ma tagħmilx hekk.) Għalhekk nirrakkomanda li taħdem fil-modalità relattiva jekk ikollok bżonn tapplika xi wieħed mill-permessi speċjali:

  1. Għall-użu SUID chmod u+s.
  2. Għall-użu SGID chmod g+s.
  3. Għall-użu tal-bit li jwaħħal chmod +t, segwit mill-isem tal-fajl jew tad-direttorju li għalih trid tissettja l-permessi.

It-tabella tiġbor fil-qosor dak kollu li għandek bżonn tkun taf dwar il-ġestjoni tal-permessi speċjali.

Permessi fil-Linux (chown, chmod, SUID, GUID, sticky bit, ACL, umask)

Eżempju ta' ħidma bi drittijiet speċjali

F'dan l-eżempju, tuża permessi speċjali biex tagħmilha aktar faċli għall-membri tal-grupp biex jaqsmu fajls fid-direttorju tal-grupp kondiviż. Int tassenja l-bit ID lill-ID tal-grupp issettjat kif ukoll il-bit li jwaħħal, u tara li ladarba jiġu ssettjati, jiżdiedu karatteristiċi biex jagħmluha aktar faċli għall-membri tal-grupp biex jaħdmu flimkien.

  1. Iftaħ terminal fejn int l-utent linda. Tista 'toħloq utent bil-kmand Linda, żid il-password passwd Linda.
  2. Oħloq id-direttorju / data fl-għerq u s-subdirettorju / data/sales bil-kmand mkdir -p /data/sales. Imla cd / data / bejgħbiex tmur fid-direttorju tal-bejgħ. Imla mess linda1 и mess linda2biex toħloq żewġ fajls vojta proprjetà ta' linda.
  3. Eżegwixxi su-lisa biex taqleb l-utent attwali għall-utent lisa, li huwa wkoll membru tal-grupp tal-bejgħ.
  4. Eżegwixxi cd / data / bejgħ u minn dak id-direttorju tesegwixxi ls-l. Se tara żewġ fajls li nħolqu mill-utent linda u jappartjenu għall-grupp linda. Imla rm -f linda*. Dan se jħassar iż-żewġ fajls.
  5. Eżegwixxi tmiss lisa1 и tmiss lisa2biex toħloq żewġ fajls li huma proprjetà tal-utent lisa.
  6. Eżegwixxi su- biex tgħolli l-privileġġi tiegħek għall-għeruq.
  7. Eżegwixxi chmod g+s,o+t /data/salesbiex tissettja l-bit tal-identifikatur tal-grupp (GUID) kif ukoll il-bit li jwaħħal fid-direttorju tal-grupp kondiviż.
  8. Eżegwixxi su-linda. Imbagħad tagħmel mess linda3 и mess linda4. Issa għandek tara li ż-żewġ fajls li ħloqt huma proprjetà tal-grupp tal-bejgħ, li huwa s-sid tal-grupp tad-direttorju /data/sales.
  9. Eżegwixxi rm -rf lisa*. Il-bit li jwaħħal jipprevjeni li dawn il-fajls jitħassru f'isem l-utent linda, peress li m'intix is-sid ta 'dawn il-fajls. Innota li jekk l-utent linda huwa s-sid tad-direttorju /data/sales, jistgħu jħassru dawn il-fajls xorta waħda!

Ġestjoni ACL (setfacl, getfacl) fil-Linux

Anke jekk il-permessi estiżi diskussi hawn fuq iżidu funzjonalità utli mal-mod kif Linux jimmaniġġja l-permessi, ma jippermettilekx tagħti permessi lil aktar minn utent jew grupp wieħed fl-istess fajl.

Il-listi tal-kontroll tal-aċċess joffru din il-karatteristika. Barra minn hekk, jippermettu lill-amministraturi jistabbilixxu permessi default b'mod kumpless, fejn il-permessi stabbiliti jistgħu jvarjaw minn direttorju għal direttorju.

Nifhmu l-ACLs

Għalkemm is-subsistema ACL żżid funzjonalità kbira lis-server tiegħek, għandha żvantaġġ wieħed: mhux l-utilitajiet kollha jappoġġjawh. Għalhekk, tista' titlef is-settings tal-ACL tiegħek meta tikkopja jew iċċaqlaq il-fajls, u s-softwer tal-backup tiegħek jista' jonqos milli jagħmel backup tas-settings tal-ACL tiegħek.

L-utilità tal-qatran ma tappoġġjax ACLs. Biex tiżgura li s-settings ACL ma jintilfux meta toħloq backup, uża istilla minflok qatran. istilla jaħdem bl-istess għażliet bħall-qatran; huwa biss iżid appoġġ għall-issettjar ACL.

Tista 'wkoll tagħmel back up ACLs bi getfacl, li jistgħu jiġu restawrati bl-użu tal-kmand setfacl. Biex toħloq backup, uża getfacl -R /direttorju > file.acls. Biex tirrestawra s-settings minn fajl backup, uża setfacl --restore=file.acl.

In-nuqqas ta' appoġġ minn xi għodod m'għandux ikun problema. L-ACLs huma spiss applikati għal direttorji bħala miżura strutturali aktar milli għal fajls individwali.
Għalhekk, mhux se jkun hemm ħafna minnhom, iżda ftit biss, applikati f'postijiet intelliġenti fis-sistema tal-fajls. Għalhekk, ir-restawr tal-ACLs oriġinali li ħdimt magħhom huwa relattivament faċli, anki jekk is-softwer tal-backup tiegħek ma jappoġġjahomx.

Tħejjija tas-sistema tal-fajls għall-ACLs

Qabel ma tibda taħdem ma 'ACLs, jista' jkollok bżonn tipprepara s-sistema tal-fajls tiegħek biex tappoġġja l-ACLs. Minħabba li l-metadejta tas-sistema tal-fajls trid tiġi estiża, mhux dejjem ikun hemm appoġġ default għall-ACLs fis-sistema tal-fajls. Jekk ikollok messaġġ "operazzjoni mhux appoġġjata" meta twaqqaf ACLs għal sistema ta 'fajls, is-sistema tal-fajls tiegħek tista' ma tappoġġjax ACLs.

Biex tiffissa dan jeħtieġ li żżid l-għażla akl impunjazzjoni f'/etc/fstab sabiex is-sistema tal-fajls tkun immuntata b'appoġġ ACL awtomatikament.

Nibdlu u jaraw is-settings ACL b'setfacl u getfacl

Biex tissettja ACL għandek bżonn il-kmand setfacl. Biex tara s-settings attwali tal-ACL, għandek bżonn getfacl. Tim ls-l ma juri l-ebda ACLs eżistenti; juri biss + wara l-lista tal-permessi, li tindika li l-ACLs japplikaw għall-fajl ukoll.

Qabel ma twaqqaf ACLs, dejjem tkun idea tajba li turi s-settings attwali tal-ACL getfacl. Fl-eżempju hawn taħt, tista 'tara l-permessi attwali, kif muri ma' ls-l, u wkoll kif muri bil getfacl. Jekk tħares mill-qrib biżżejjed, tara li l-informazzjoni murija hija eżattament l-istess.

[root@server1 /]# ls -ld /dir
drwxr-xr-x. 2 root root 6 Feb 6 11:28 /dir
[root@server1 /]# getfacl /dir
getfacl: Removing leading '/' from absolute path names
# file: dir
# owner: root
# group: root
user::rwx
group::r-x
other::r-x

Bħala riżultat ta 'eżekuzzjoni tal-kmand getfacl hawn taħt tista 'tara li l-permessi huma murija għal tliet oġġetti differenti: utent, grupp u oħrajn. Issa ejja nżidu ACL biex nagħtu permessi ta 'qari u tesegwixxi lill-grupp tal-bejgħ ukoll. kmand għal dan setfacl -mg:sales:rx /dir. F'dan it-tim -m jindika li s-settings attwali tal-ACL jeħtieġ li jinbidlu. Wara g:bejgħ:rx jgħid lill-kmand biex jissettja l-ACL read-execute (rx) għall-grupp (g) bejgħ. Hawn taħt tista 'tara kif jidher il-kmand, kif ukoll l-output tal-kmand getfacl wara li tbiddel is-settings attwali tal-ACL.

[root@server1 /]# setfacl -m g:sales:rx /dir
[root@server1 /]# getfacl /dir
getfacl: Removing leading '/' from absolute path names
# file: dir
# owner: root
# group: root
user::rwx
group::r-x
group:sales:r-x
mask::r-x
other::r-x

Issa li tifhem kif twaqqaf grupp ACL, huwa faċli li tifhem l-ACLs għall-utenti u utenti oħra. Per eżempju, il-kmand setfacl -mu:linda:rwx /data jagħti permessi lill-utent linda fid-direttorju / data mingħajr ma tagħmilha s-sid jew ibiddel l-assenjazzjoni tas-sid attwali.

Team setfacl għandha ħafna karatteristiċi u għażliet. Għażla waħda hija speċjalment importanti, il-parametru -R. Jekk tintuża, l-għażla tagħmel l-ACL stabbilit għall-fajls u s-subdirettorji kollha li bħalissa jeżistu fid-direttorju fejn issettja l-ACL. Huwa rakkomandat li dejjem tuża din l-għażla meta tbiddel ACLs għal direttorji eżistenti.

Ħidma ma 'ACLs Default

Wieħed mill-benefiċċji tal-użu tal-ACLs huwa li tista 'tagħti permessi lil utenti jew gruppi multipli f'direttorju. Benefiċċju ieħor huwa li tista 'tippermetti l-wirt billi taħdem ma' l-ACLs default.

Billi tistabbilixxi l-ACL default, tiddetermina l-permessi li se jiġu ssettjati għall-oġġetti l-ġodda kollha maħluqa fid-direttorju. Kun konxju li l-ACL default ma jbiddilx il-permessi fuq fajls u sottodirettorji eżistenti. Biex tibdelhom, trid iżżid ACL normali wkoll!

Dan huwa importanti li tkun taf. Jekk trid tuża ACL biex tikkonfigura utenti jew gruppi multipli biex jaċċessaw l-istess direttorju, trid issettja l-ACL darbtejn. L-ewwel użu setfacl -R -mbiex tibdel l-ACLs għall-fajls kurrenti. Imbagħad uża setfacl-md:biex jieħu ħsieb l-elementi ġodda kollha li se jinħolqu wkoll.

Biex tissettja l-ACL default għandek bżonn biss li żżid l-għażla d wara l-għażla -m (ordni kwistjonijiet!). Allura uża setfacl -md:g:sales:rx /datajekk trid li l-bejgħ tal-grupp jaqra u jesegwixxi dak kollu li qatt jinħoloq fid-direttorju / data.

Meta tuża ACLs default, jista 'jkun utli wkoll li jiġu stabbiliti ACLs għal oħrajn. Dan normalment ma jagħmilx ħafna sens għaliex tista 'wkoll tibdel il-permessi għal oħrajn li jużaw chmod. Madankollu, dak li ma tistax tagħmel chmod, huwa li tispeċifika d-drittijiet li għandhom jingħataw lil utenti oħra għal kull fajl ġdid li qatt jinħoloq. Jekk trid tipprevjeni lil ħaddieħor milli jakkwista xi permessi fuq xi ħaġa maħluqa f'/data pereżempju użu setfacl -md:o::- /data.

L-ACLs u l-permessi normali mhux dejjem huma integrati tajjeb. Jistgħu jinqalgħu problemi jekk tapplika ACL default għal direttorju, imbagħad l-oġġetti jiġu miżjuda ma 'dak id-direttorju, u mbagħad tipprova tibdel il-permessi normali. Bidliet li japplikaw għal permessi normali mhux se jkunu riflessi sew fil-ħarsa ġenerali tal-ACL. Biex tevita l-problemi, l-ewwel issettja l-permessi normali, imbagħad issettja l-ACLs default (u ipprova ma terġax tibdelhom wara dan).

Eżempju ta' Ġestjoni ta' Drittijiet Għolja bl-użu ta' ACLs

F'dan l-eżempju, int se tkompli bid-direttorji /data/account u /data/sales li ħloqt qabel. Fl-eżempji preċedenti, żgurajt li l-grupp tal-bejgħ għandu permessi fuq /data/sales u l-grupp tal-kontijiet għandu permessi fuq /data/account.

L-ewwel, kun żgur li l-grupp tal-kont jikseb permessi tal-qari fuq id-direttorju /data/sales u l-grupp tal-bejgħ jikseb permessi tal-qari fuq id-direttorju /data/account.

Imbagħad issettja ACLs default biex tiżgura li l-fajls il-ġodda kollha jkollhom il-permessi korretti stabbiliti għall-oġġetti l-ġodda kollha.

  1. Iftaħ terminal.
  2. Eżegwixxi setfacl -mg:account:rx /data/sales и setfacl -mg:sales:rx /data/account.
  3. Eżegwixxi getfaclbiex tiżgura li l-permessi ġew issettjati kif ridt int.
  4. Eżegwixxi setfacl -md:g:account:rwx,g:sales:rx /data/salesbiex tissettja l-ACL default għad-direttorju tal-bejgħ.
  5. Żid ACL default għad-direttorju /data/account bl-użu setfacl -md:g:sales:rwx,g:account:rx /data/account.
  6. Ivverifika li s-settings ACL huma fis-seħħ billi żżid fajl ġdid f'/data/sales. Imla touch /data/sales/newfile u tesegwixxi getfacl /data/sales/newfile biex jiċċekkja l-permessi attwali.

L-issettjar ta' permessi default b'umask

Hawn fuq, tgħallimt kif taħdem ma 'ACLs default. Jekk m'intix qed tuża ACL, hemm għażla tal-qoxra li tiddetermina l-permessi default li se tikseb: maskra (reverse mask). F'din it-taqsima, titgħallem kif tibdel il-permessi default bihom maskra.

Jista 'jkollok innotajt li meta toħloq fajl ġdid, jiġu stabbiliti xi permessi default. Dawn il-permessi huma determinati mill-issettjar maskra. Dan is-setting tal-qoxra japplika għall-utenti kollha fil-logon. Fil-parametru maskra jintuża valur numeriku, li jitnaqqas mill-permessi massimi li jistgħu jiġu stabbiliti awtomatikament għall-fajl; l-issettjar massimu għall-fajls huwa 666 u għad-direttorji huwa 777.

Madankollu, xi eċċezzjonijiet japplikaw għal din ir-regola. Tista' ssib ħarsa ġenerali sħiħa tas-settings maskra fit-tabella hawn taħt.

Min-numri użati fi maskra, bħal fil-każ ta 'argumenti numeriċi għall-kmand chmod, l-ewwel ċifra tirreferi għall-permessi tal-utent, it-tieni ċifra tirreferi għall-permessi tal-grupp, u l-aħħar tirreferi għall-permessi default stabbiliti għal oħrajn. Tifsira maskra il-default 022 jagħti 644 għall-fajls ġodda kollha u 755 għad-direttorji ġodda kollha maħluqa fuq is-server tiegħek.

Ħarsa ġenerali sħiħa tal-valuri numeriċi kollha maskra u r-riżultati tagħhom fit-tabella hawn taħt.

Permessi fil-Linux (chown, chmod, SUID, GUID, sticky bit, ACL, umask)

Mod faċli biex tara kif taħdem is-setting tal-umask huwa kif ġej: ibda bil-permessi default tal-fajl issettjati għal 666 u naqqas l-umask biex tikseb il-permessi effettivi. Agħmel l-istess għad-direttorju u l-permessi default tiegħu ta '777.

Hemm żewġ modi kif tibdel l-issettjar tal-umask: għall-utenti kollha u għall-utenti individwali. Jekk trid tissettja l-umask għall-utenti kollha, trid tiżgura li s-setting tal-umask jitqies meta tibda fajls tal-ambjent tal-qoxra, kif speċifikat f'/etc/profile. L-approċċ korrett huwa li toħloq script shell imsejjaħ umask.sh fid-direttorju /etc/profile.d u speċifika l-umask li trid tuża f'dak script shell. Jekk l-umask tinbidel f'dan il-fajl, tiġi applikata għall-utenti kollha wara li tidħol fis-server.

Alternattiva għall-issettjar tal-umask permezz ta' /etc/profile u fajls relatati, fejn tapplika għall-utenti kollha li jidħlu, hija li tbiddel is-settings tal-umask f'fajl imsejjaħ .profile li jinħoloq fid-direttorju tad-dar ta' kull utent.

Is-settings applikati f'dan il-fajl japplikaw biss għall-utent individwali; għalhekk dan huwa metodu tajjeb jekk għandek bżonn aktar dettall. Jien personalment inħobb din il-karatteristika biex tibdel l-umask default għall-utent għerq għal 027 filwaqt li l-utenti normali qed jaħdmu bl-umask default ta '022.

Ħidma ma 'attributi utent estiżi

Din hija t-taqsima finali dwar il-permessi tal-Linux.

Meta taħdem bil-permessi, dejjem ikun hemm relazzjoni bejn oġġett ta 'utent jew grupp u l-permessi li oġġetti ta' utent jew grupp għandhom fuq fajl jew direttorju. Metodu alternattiv biex tipproteġi l-fajls fuq server Linux huwa li taħdem bl-attributi.
L-attributi jagħmlu xogħolhom irrispettivament mill-utent li jaċċessa l-fajl.

Bħal fl-ACLs, l-attributi tal-fajl jista' jkollhom bżonn jinkludu l-għażla impunjazzjoni.

Din hija għażla user_xattr. Jekk ikollok messaġġ "operazzjoni mhux appoġġjata" meta taħdem b'attributi tal-utent estiżi, kun żgur li tissettja l-parametru impunjazzjoni f'/etc/fstab.

Ħafna attributi huma dokumentati. Xi attributi huma disponibbli iżda għadhom mhumiex implimentati. Tużahomx; ma jġibulek xejn.

Hawn taħt huma l-aktar attributi utli li tista' tapplika:

A Dan l-attribut jiżgura li l-ħin tal-aċċess għall-fajl tal-fajl ma jinbidelx.
Tipikament, kull darba li jinfetaħ fajl, il-ħin tal-aċċess tal-fajl għandu jiġi rreġistrat fil-metadata tal-fajl. Dan ikollu impatt negattiv fuq il-prestazzjoni; għalhekk għall-fajls li huma aċċessati regolarment, l-attribut A jista 'jintuża biex jiskonnettja din il-karatteristika.

a Dan l-attribut jippermettilek li żżid iżda mhux tneħħi fajl.

c Jekk qed tuża sistema tal-fajls li tappoġġja l-kompressjoni fil-livell tal-volum, dan l-attribut tal-fajl jiżgura li l-fajl jiġi kkompressat l-ewwel darba li l-mekkaniżmu tal-kompressjoni jiġi attivat.

D Dan l-attribut jiżgura li l-bidliet fil-fajls jinkitbu fuq id-disk immedjatament aktar milli l-ewwel jiġu miżmumin fil-cache. Dan huwa attribut utli fuq fajls tad-database importanti biex jiġi żgurat li ma jintilfux bejn il-cache tal-fajl u l-hard drive.

d Dan l-attribut jiżgura li l-fajl mhux se jiġi ffrankat f'backups fejn tintuża l-utilità tad-dump.

I Dan l-attribut jippermetti l-indiċjar għad-direttorju li fih huwa attivat. Dan jipprovdi aċċess aktar mgħaġġel għall-fajls għal sistemi ta 'fajls primittivi bħal Ext3 li ma jużawx id-database B-tree għal aċċess veloċi għall-fajls.

i Dan l-attribut jagħmel il-fajl immutabbli. Għalhekk, l-ebda tibdil ma jista 'jsir fil-fajl, li huwa utli għall-fajls li jeħtieġu protezzjoni addizzjonali.

j Dan l-attribut jiżgura li, fuq sistema ta 'fajls ext3, il-fajl l-ewwel jinkiteb fil-ġurnal u mbagħad fil-blokki tad-dejta fuq il-hard disk.

s Ikteb fuq il-blokki li fihom il-fajl ġie ffrankat għal 0s wara li tħassar il-fajl. Dan jiżgura li l-fajl ma jistax jiġi rrestawrat ladarba jkun ġie mħassar.

u Dan l-attribut jaħżen informazzjoni dwar it-tħassir. Dan jippermettilek tiżviluppa utilità li taħdem ma 'din l-informazzjoni biex isalva fajls imħassra.

Jekk trid tapplika l-attributi, tista 'tuża l-kmand ċappa. Per eżempju, uża chattr +s somefilebiex tapplika attributi għal xi fajl. Għandek bżonn tneħħi attribut? Imbagħad uża chattr -s somefileu se titneħħa. Biex tikseb ħarsa ġenerali lejn l-attributi kollha li huma applikati bħalissa, uża l-kmand lsattr.

Sommarju

F'dan l-artikolu, tgħallimt kif taħdem bil-permessi. Taqra dwar it-tliet permessi bażiċi, permessi avvanzati, u kif tapplika ACLs fuq sistema ta 'fajls. Tgħallimt ukoll kif tuża l-għażla umask biex tapplika permessi default. Fl-aħħar ta 'dan l-artikolu, tgħallimt kif tuża attributi estiżi mill-utent biex tapplika saff addizzjonali ta' sigurtà tas-sistema tal-fajls.

Jekk għoġbok din it-traduzzjoni, allura jekk jogħġbok ikteb dwarha fil-kummenti. Se jkun hemm aktar motivazzjoni biex isiru traduzzjonijiet utli.

Ikkoreġu xi typos u żbalji grammatikali fl-artiklu. Naqqas xi paragrafi goffi f'oħrajn iżgħar biex jinqara aħjar.

Minflok "Xi ħadd biss bi drittijiet amministrattivi għad-direttorju jista' japplika l-permess ta' eżekuzzjoni." iffissat għal "Xi ħadd biss b'permessi ta 'kitba fuq id-direttorju jista' japplika permess ta 'eżekuzzjoni.", li jkun aktar korrett.

Grazzi tal-kummenti berez.

Mibdul:
Jekk m'intix is-sid tal-utent, il-qoxra se tiċċekkja biex tara jekk intix membru ta 'grupp, magħruf ukoll bħala l-grupp tal-fajl.

Fuq il:
Jekk m'intix is-sid tal-fajl, il-qoxra se tiċċekkja biex tara jekk intix membru ta 'grupp li għandu permessi fuq il-fajl. Jekk int membru ta 'dan il-grupp, ikollok aċċess għall-fajl bil-permessi li l-grupp stabbilixxa, u l-qoxra tieqaf tiċċekkja.

Grazzi tal-kumment tiegħek CryptoPirate

Sors: www.habr.com

Żid kumment