Tere kÔigile. See on tÔlge artiklist raamatust RedHat RHCSA RHCE 7 RedHat Enterprise Linux 7 EX200 ja EX300.
Minu poolt: Loodan, et artikkel on kasulik mitte ainult algajatele, vaid aitab ka kogenud administraatoritel oma teadmisi korraldada.
Nii et, lÀhme!

Failide juurde pÀÀsemiseks Linuxis kasutatakse Ôigusi. Need Ôigused mÀÀratakse kolmele objektile: faili omanikule, grupi omanikule ja muule objekti (st kÔigile teistele). KÀesolevas artiklis saate teada, kuidas Ôigusi rakendada.
Artikkel algab pĂ”hikontseptsioonide ĂŒlevaatega, seejĂ€rel arutatakse eripĂ€raseid Ă”igusi (Special permissions) ja juurdepÀÀsukontrolli nimekirju (ACL). Artikli lĂ”pus kĂ€sitletakse vaikeĂ”iguste seadistamist umask kaudu ja kasutaja laiendatud atribuute.
Failide omamise haldamine
Enne kui arutada Ôigusi, peate teadma faili ja katalooge omaniku rolli. Failide ja kataloogide omamine on Ôiguste haldamiseks hÀdavajalik. KÀesolevas jaotises saate kÔigepealt teada, kuidas nÀha omanikku. SeejÀrel saate teada, kuidas muuta faili ja katalooge omaniku grupi ja kasutaja.
Faili vÔi katalooge omaniku kuvamine
Linuxis on iga faili ja iga katalooge kaks omanikku: kasutaja ja grupi omanik.
Need omanikud mÀÀratakse faili vÔi katalooge loomisel. Faili loomisel muutub selle faili omanikuks see kasutaja, kes faili loob, ja selle kasutaja esmase grupi omanikuks. Et kindlaks teha, kas teil, kui kasutajal, on faili vÔi katalooge juurde pÀÀsemise Ôigused, kontrollib shell nende omamist.
See toimub jÀrgmises jÀrjestuses:
- Shell kontrollib, kas olete faili omanik, millele soovite juurde pÀÀseda. Kui olete selle omanik, saate Ôigused ja shell lÔpetab kontrollimise.
- Kui te ei ole faili omanik, kontrollib shell, kas olete grupi liige, kellel on sellele failile Ôigused. Kui olete selle grupi liige, saate faili juurde pÀÀseda grupile mÀÀratud Ôigustega ja shell lÔpetab kontrollimise.
- Kui te ei ole ei kasutaja, ei ka grupi omanik, siis saate teiste kasutajate Ôigused (Other).
Praegu omandi mÀÀrangute vaatamiseks vÔite kasutada kÀsku ls -l. See kÀsk nÀitab kasutajat ja grupi omanikku. Allpool nÀete omandi seadeid kataloogides kataloogis /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
KĂ€sk ls vĂ”ite kuvada failide omaniku antud kataloogis. MĂ”nikord vĂ”ib olla kasulik saada nimekiri kĂ”ikidest failidest sĂŒsteemis, mille omaniku rollis on see kasutaja vĂ”i grupp. Selleks vĂ”ite kasutada find. Argument find -user vĂ”ib selleks otstarbeks kasutada. NĂ€iteks jĂ€rgmine kĂ€sk nĂ€itab kĂ”iki faile, mille omaniku rollis on kasutaja linda:
find / -user lindaSaate kasutada ka find failide otsimiseks, mille teatud grupp on nende omanik.
NÀiteks jÀrgmine kÀsk otsib kÔiki faile, mis kuuluvad gruppi users:
find / -group usersOmaniku muutmine
Soodsa volituse rakendamiseks on esimene asi, mida arvesse vĂ”tta, omandi kĂŒsimus. Selleks on olemas kĂ€sk chown. Selle kĂ€sku on lihtne mĂ”ista:
chown kes midaNÀiteks jÀrgmine kÀsk muudab katalooge /home/account kasutaja lindaks:
chown linda /home/accountMeeskond chown omab mitmeid valikuid, millest ĂŒks on eriti kasulik: -R. Sa saad aru, mida see teeb, kuna see valik on saadaval ka paljude teiste kĂ€skude jaoks. See vĂ”imaldab sul rekursiivselt seada omaniku, vĂ”imaldades sul mÀÀrata omaniku praegusele kataloogile ja kĂ”igile, mis asub allpool. JĂ€rgmine kĂ€sk muudab omaniku kataloogile /home ja kĂ”igile, mis asub selle all, kasutaja lindaks:
NĂŒĂŒd nĂ€evad omanikud vĂ€lja jĂ€rgmiselt:
[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
Teeme:
[root@localhost ~]# chown -R lisa /home/account
[root@localhost ~]#
NĂŒĂŒd on kasutaja lisa saanud omanikuks kataloogile account:
[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
Grupi omaniku muutmine
Grupi omandi muutmiseks on kaks meetodit. Saate seda teha, kasutades chown, kuid on olemas eriline kÀsk nimega chgrp, mis teeb seda tööd. Kui soovite kasutada kÀsku chown, siis kasutage . vÔi : enne grupi nime.
JÀrgmine kÀsk muudab kasutaja grupi /home/account grupiks account:
chown .account /home/account
Saate kasutada chown kasutaja ja/vÔi grupi omaniku muutmiseks mitmel viisil. Siin on mÔned nÀited:
- chown lisa myfile1 seab kasutaja lisaks faili myfile1 omanikuks.
- chown lisa.sales myfile seab kasutaja lisaks faili myfile omanikuks ja mÀÀrab grupi sales selle faili grupi omanikuks.
- chown lisa:sales myfile on sama, mis eelmine kÀsk.
- chown .sales myfile seab grupi sales faili myfile omanikuks, muutes samas kasutaja omaniku.
- chown :sales myfile on sama, mis eelmine kÀsk.
Saate kasutada kÀsku chgrp, et muuta grupi omanikku. Vaatame jÀrgmist nÀidet, kus saate chgrp seada katalooge account grupiks sales:
chgrp .sales /home/accountNagu eelnevalt mainitud, chown, saate kasutada suvandid -R jot chgrp, samuti muuta grupi omanikku rekursiivselt.
Omandi mÔistmine
VÔisite mÀrgata, et kui kasutaja loob faili, rakendatakse vaikimisi omanik.
Kasutaja, kes loob faili, saab automaatselt selle faili omanikuks, samuti saab selle kasutaja peamine grupp automaatselt selle faili omanikuks. Tavaliselt on see grupp, mis on mÀÀratud failis /etc/passwd selle kasutaja pÔhigruppina. Kuid kui kasutaja kuulub mitmesse gruppi, vÔib ta muuta oma efektiivset pÔhigruppi.
KÀitumise demonstreerimiseks saab kasutaja kasutada kÀsku groups:
[root@server1 ~]# groups lisa
lisa : lisa account sales
Kui praegune kasutaja linda soovib muuta efektiivset peagruppi, siis peab ta kasutama kĂ€sku newgrp, millele jĂ€rgneb grupi nimi, mille ta soovib mÀÀrata uueks efektiivseks peagrupiks. PĂ€rast kĂ€su kasutamist newgrp on peagrupp aktiivne, kuni kasutaja ei sisesta kĂ€sku exit vĂ”i ei logi sĂŒsteemist vĂ€lja.
Allpool on nÀidatud, kuidas kasutaja linda seda kÀsku kasutab, mille tulemusena on peagrupp grupiks sales:
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
Peale peamise grupi muutmist saavad kÔik uued kasutaja loodud failid selle grupi omanikuks. Originaalse peamise grupi tagasi saamiseks kasutage exit.
PĂ€rast kĂ€su kasutamiseks peab kasutaja olema selle grupi liige, mida ta soovib kasutada peamina. Lisaks vĂ”ib grupi parooli kasutada rĂŒhma jaoks kĂ€su newgrpgpasswd . Kui kasutaja kasutab kĂ€sku, kuid ei ole sihtgrupi liige, kĂŒsib shell grupi parooli. PĂ€rast Ă”ige grupi parooli sisestamist seatakse uus efektiivne peamine grupp. newgrpPeamiste Ă”iguste haldamine
Linuxi Ă”iguste sĂŒsteem loodi 1970. aastatel. Arvestades, et arvutusvajadused olid tol ajal piiratud, oli pĂ”hiline Ă”iguste sĂŒsteem ĂŒsna piiratud. See Ă”iguste sĂŒsteem kasutab kolme Ă”igust, mida saab rakendada failidele ja kataloogidele. KĂ€esolevas jaos saate teada, kuidas neid Ă”igusi kasutada ja muuta.
Arusaamine lugemise, kirjutamise ja kÀivitamise Ôigustest
Need kolm peamist Ôigust vÔimaldavad teil lugeda, kirjutada ja faile kÀivitada. Nende Ôiguste mÔju erineb, kui neid rakendatakse failidele vÔi kataloogidele. Faili puhul annab lugemise Ôigus teile Ôiguse avada faili lugemiseks. Seega saate selle sisu lugeda, kuid see tÀhendab, et teie arvuti suudab faili avada, et sellega midagi teha.
Programmfail, mis vajab juurdepÀÀsu raamatukogule, peab nÀiteks olema selle raamatukogu lugemiseks juurdepÀÀs. Seega on lugemise Ôigus kÔige elementaarsem Ôigus, mida vajate failidega töötamiseks.
Katalooge lugedes vĂ”imaldab lugemine kuvada selle katalooge sisu. Peaksite teadma, et see Ă”igus ei luba teil lugeda kataloogis olevaid faile. Linuxi Ă”iguste sĂŒsteem ei tunne pĂ€randit ja ainus viis faili lugemiseks on selle faili lugemise Ă”iguste kasutamine.
Katalooge lugedes vĂ”imaldab lugemine kuvada selle katalooge sisu. Peaksite teadma, et see Ă”igus ei luba teil lugeda kataloogis olevaid faile. Linuxi Ă”iguste sĂŒsteem ei tunne pĂ€randit ja ainus viis faili lugemiseks on selle faili lugemise Ă”iguste kasutamine.
Kuidas nÀete, kirjutamisÔigus, kui see on rakendatud failile, vÔimaldab faili kirjutada. TeisisÔnu, see vÔimaldab olemasolevate failide sisu muuta. Kuid see ei luba uusi faile luua ega kustutada ega muuda faili juurdepÀÀsuÔigusi. Selleks tuleb anda kirjutamisÔigus kataloogile, kus soovite faili luua. Kataloogides vÔimaldab see Ôigus ka uusi alampidusid luua ja kustutada.
TÀideviimisÔigus on see, mida vajate faili kÀitamiseks. See ei ole kunagi vaikimisi seadistatud, mis teeb Linuxi praktiliselt immuunseks viiruste vastu. Ainult keegi, kellel on kirjutamisÔigus kataloogile, saab tÀideviimisÔigust rakendada.
Allpool on kokkuvÔte pÔhioiguste kasutamisest:

Kasutamine chmod
Ăiguste haldamiseks kasutatakse kĂ€sku chmod. KĂ€sklusest chmod saate mÀÀrata Ă”igused kasutajale (user), rĂŒhmale (group) ja teistele (other). Saate seda kĂ€sku kasutada kahes reĆŸiimis: suhtelises reĆŸiimis ja absoluutses reĆŸiimis. Absoluutse reĆŸiimi korral kasutatakse kolme numbrit pĂ”hioiguste seadmiseks.

Ăiguste seadmisel arvutage vajalik vÀÀrtus. Kui soovite mÀÀrata lugemise, kirjutamise ja tĂ€ideviimise kasutajale, lugemise ja tĂ€ideviimise rĂŒhmale ning lugemise ja tĂ€ideviimise teistele failis /somefile, siis kasutate jĂ€rgmist kĂ€sku chmod:
chmod 755 /somefileKui kasutate chmod sel viisil, asendatakse kÔik praegused Ôigused teie seadistatud Ôigustega.
Kui soovite muuta Ă”igusi varasemate Ă”iguste suhtes, vĂ”ite kasutada chmod suhtelises reĆŸiimis. Suhtelises reĆŸiimis töötades töötate kolme indikaatoriga, et nĂ€idata, mida soovite teha: chmod Esmalt nĂ€itate, kelle Ă”igusi soovite muuta. Selleks vĂ”ite valida kasutaja (
- u), rĂŒhma () ja teiste (g). SeejĂ€rel kasutate operaatorit, et lisada vĂ”i eemaldada Ă”igusi praegusest reĆŸiimist vĂ”i mÀÀrata need absoluutsetena.o).
- LÔpuks kasutate
- , et nÀidata, millised Ôigused soovite seada. r, w ja x, etten milliseid Ôigusi soovite mÀÀrata.
Suhetevaarses reĆŸiimis Ă”iguste muutmisel vĂ”ite osa «kellega» vahele jĂ€tta, et lisada vĂ”i eemaldada luba kĂ”igi objektide jaoks. NĂ€iteks lisab see kĂ€sk kĂ”igile kasutajatele tĂ€itmisĂ”iguse:
chmod +x somefileSuhetevaarses reĆŸiimis töötades vĂ”ite kasutada ka keerulisemaid kĂ€ske. NĂ€iteks lisab see kĂ€sk kirjutamisĂ”iguse grupile ja eemaldab lugemise teiste poolt:
chmod g+w,o-r somefileKasutades chmod -R o+rx /data seate tÀitmisÔiguse kÔigile kaustadele ja ka /data kausta failidele. TÀitmisÔiguse seadmiseks ainult kaustadele, mitte failidele, kasutage chmod -R o+ rX /data.
SuurtÀht X tagab, et failid ei saa tÀitmisÔigust, kui failil ei ole juba mÔne objekti jaoks tÀitmisÔigust. See teeb X-st targema viisi tÀitmisauditi haldamiseks; see aitab vÀltida Ôiguse seadmist failidele, kus see pole vajalik.
Laienenenud Ôigused
Peale pÔhiloata, millest just rÀÀkisite, on Linuxis ka komplekt laiendatud Ôigusi. Need pole need Ôigused, mida te vaikimisi seadistate, kuid mÔnikord pakuvad nad kasulikku lisa. Selles osas saate teada, mis need on ja kuidas neid seadistada.
Laienenenud Ôiguste SUID, GUID ja sticky bit mÔistmine
On kolm tÀiustatud Ôigust. Esimene neist on kasutaja identifikaatori seadistamise Ôigus (SUID). Teatud erijuhtudel saate seda Ôigust rakendada kÀivitatavatele failidele. Vaikimisi kÀivitab kÀivitatava faili kÀivitav kasutaja selle faili oma Ôigustega.
Tavakasutajate puhul tĂ€hendab see tavaliselt, et programmi kasutamine on piiratud. Kuid mĂ”nes olukorras vajab kasutaja erilise Ă”iguse, et teatud ĂŒlesande tĂ€itmiseks.
Vaatame nÀiteks olukorda, kus kasutajal on vaja oma parooli vahetada. Selleks peab kasutaja kirjutama oma uue parooli faili /etc/shadow. Kuid see fail pole kirjutamiseks kergesti kÀttesaadav kasutajatele, kellel pole root-Ôigusi:
root@hnl ~]# ls -l /etc/shadow
----------. 1 root root 1184 Apr 30 16:54 /etc/shadow
SUID luba pakub lahendust sellele probleemile. Utiliit /usr/bin/passwd kasutab seda luba vaikimisi. See tÀhendab, et parooli muutmisel saab kasutaja ajutiselt root-reisereid, mis vÔimaldab tal kirjutada faili /etc/shadow. Saate nÀha SUID luba ls -l kuidas s kohas, kus te tavaliselt ootate nÀha x kasutaja lubade jaoks:
[root@hnl ~]# ls -l /usr/bin/passwd
-rwsr-xr-x. 1 root root 32680 Jan 28 2010 /usr/bin/passwd
SUID luba vÔib tunduda kasulik (ja mÔnel juhul tÔesti on), kuid samas on see potentsiaalselt ohtlik. Vale kasutamise korral vÔite kogemata anda root-Ôigusi. SeetÔttu soovitan seda kasutada ainult ÀÀrmise ettevaatlikkusega.
Enamikul administraatoritest ei pea seda kunagi kasutama; nĂ€ete seda ainult teatud failides, kus operatsioonisĂŒsteem peab selle vaikimisi seadma.
Teine eriline luba on grupi identifikaator (SGID). Sellel lubal on kaks mÔju. Kui see kehtib tÀidetava faili suhtes, annab see failiga seotud grupi omanikule Ôigused selle faili tÀitjale. Seega vÔib SGID teha rohkem vÔi vÀhem sama, mis SUID. Siiski, selle eesmÀrgi jaoks ei kasutata SGID peaaegu kunagi.
Nii nagu SUID luba, rakendatakse SGID mĂ”nedele sĂŒsteemifailidele vaikeseadetena.
Kui SGID kehtib katalooge suhtes, vÔib see olla kasulik, kuna saate seda kasutada katalooge ja faile luues vaikimisi grupi omanikuks seadmiseks. Vaikimisi, kui kasutaja loob faili, mÀÀratakse tema efektiivne pÔhi grupp selle faili grupi omanikuks.
See pole alati vÀga kasulik, eriti kuna Red Hat/CentOSi kasutajate jaoks on peamiseks grupiks sama nimega grupi, milles kasutaja on ainus liige. Seega on vaikimisi kasutaja loodud failid grupi kasutamiseks.
Kujutage ette olukorda, kus kasutajad linda ja lori töötavad raamatupidamises ja kuuluvad gruppi accountVaikimisi on need kasutajad privaatse grupi liikmed, mille ainus liige nad on. Siiski on mÔlemad kasutajad grupi account liikmed, kuid ka teise grupi liikmena.
Vaikimisi, kui mĂ”ni neist kasutajatest loob faili, muutub peamine grupp omaniku grupiks. SeetĂ”ttu ei saa linda vaikimisi juurdepÀÀsu lori loodud failidele ja vastupidi. Kui aga loote grupi jagamise katalooge (ĂŒtleme, /groups/account) ja tagate, et SGID Ă”igused kehtivad sellele kataloogile ning et grupikonto on selle katalooge omanik, saavad kĂ”ik selle katalooge ja kĂ”ikides selle alamkataloogides loodud failid ka grupi account omanikuks vaikimisi.
SeetĂ”ttu on SGID-luba vĂ€ga kasulik luba, mida saab seadistada jagatud rĂŒhmade kataloogides.
SGID luba kuvatakse vÀljundis ls -l kuidas s asendis, kus te tavaliselt leiate grupi tÀitmisÔigused:
[root@hnl data]# ls -ld account
drwxr-sr-x. 2 root account 4096 Apr 30 21:28 account
Kolmas eriline lubade tĂŒĂŒp on sticky bit. See luba on kasulik failide kaitsmiseks juhusliku kustutamise eest keskkonnas, kus mitmed kasutajad vĂ”ivad kirjutada samasse katalooge. Kui sticky bit on rakendatud, vĂ”ib kasutaja faili kustutada ainult siis, kui ta on faili vĂ”i selle faili sisaldava katalooge omanik. SeetĂ”ttu rakendatakse seda vaikimisi /tmp kataloogis ja see vĂ”ib olla kasulik ka jagatud grupi kataloogides.
Ilma sticky bitita, kui kasutaja saab kataloogis faile luua, saab ta ka need kataloogist kustutada. Avalikus grupikeskkonnas vĂ”ib see olla tĂŒĂŒtav. Kujutage ette, et kasutajad linda ja lori, kellel mĂ”lemal on kirjutamisĂ”igus katalooge /data/account, saavad need Ă”igus grupi account kaudu. SeetĂ”ttu vĂ”ib linda kustutada lori loodud faile ja vastupidi.
Kui rakendate sticky bit, vÔib kasutaja faile kustutada ainult siis, kui on tÀidetud mÔni jÀrgmistest tingimustest:
- Kasutaja on faili omanik;
- Kasutaja on katalooge omanik, kus fail asub.
Kasutades ls -l, saate sticky biti nÀha kui t positsioonis, kus te tavaliselt nÀete muid kÀitamisloake:
[root@hnl data]# ls -ld account/
drwxr-sr-t. 2 root account 4096 Apr 30 21:28 account/
Kasutuste laiendatud Ôigused
SUID, SGID ja sticky bitti rakendamiseks vÔite samuti kasutada chmod. SUID-l on numbriline vÀÀrtus 4, SGID-l on numbriline vÀÀrtus 2 ja sticky bitil on numbriline vÀÀrtus 1.
Kui soovite neid Ôigusi rakendada, peate lisama neljakohalise argumendi chmod, mille esimene number viitab erikohtadele. JÀrgmine rida, nÀiteks, lisab SGID Ôiguse katalooge ning mÀÀrab rwx kasutajale ja rx grupile ning teistele:
chmod 2755 /somedirSee on ĂŒsna ebamugav, kui peate vaatama kehtivaid Ă”igusi, mis on mÀÀratud enne töötamist chmod absoluutses reĆŸiimis. (Te riskite Ă”iguste ĂŒle kirjutamise, kui te seda ei tee.) SeetĂ”ttu soovitan töötada suhtelises reĆŸiimis, kui peate rakendama mĂ”nda erikohta:
- SUID jaoks kasutage chmod u+s.
- SGID jaoks kasutage chmod g+s.
- Sticky bitti jaoks kasutage chmod +t, seejÀrel failinimi vÔi kataloog, mille jaoks soovite Ôigusi mÀÀrata.
Tabelis on kokkuvÔtlikult kÔik, mida on oluline teada erikohtade haldamisest.

NĂ€ide erikohtade kasutamisest
Antud nĂ€ites kasutate erikohti, et grupi liikmetel oleks lihtsam jagada faile ĂŒhises kataloogis. MÀÀrate rĂŒhma ID-bit ning sticky bitti ja nĂ€ete, et nende mÀÀramise jĂ€rel lisanduvad funktsioonid, mis hĂ”lbustavad grupi liikmete koostööd.
- Avage terminal, kus olete kasutaja linda. Kasutaja loomine toimub kÀsuga useradd linda, lisage parool passwd linda.
- Looge juurtasandil kataloog /data ja alamkataloog /data/sales kĂ€suga mkdir -p /data/sales. KĂ€ivitage cd /data/sales, et minna sales kataloogi. KĂ€ivitage touch linda1 ja touch linda2, et luua kaks tĂŒhja faili, mille omanik on linda.
- KĂ€ivitage su - lisa et vahetada praegune kasutaja kasutajaks lisa, kes on samuti sales grupi liige.
- KĂ€ivitage cd /data/sales ja kĂ€ivitage sellest kataloogist ls -l. NĂ€ete kahte faili, mis loodi kasutaja linda poolt ja kuuluvad rĂŒhmale linda. KĂ€ivitage rm -f linda*. See kustutab mĂ”lemad failid.
- KĂ€ivitage touch lisa1 ja touch lisa2, et luua kaks faili, mis kuuluvad kasutajale lisa.
- KĂ€ivitage su - root taseme privilege'ide suurendamiseks.
- KĂ€ivitage chmod g+s,o+t /data/sales, et mÀÀrata grupi identifikaatori bit (GUID) ning ka sticky bit ĂŒhise grupi kaustas.
- KĂ€ivitage su â linda. SeejĂ€rel tĂ€itke touch linda3 ja touch linda4. NĂŒĂŒd peaksite nĂ€gema, et kaks loodud faili kuuluvad grupile sales, kes on kaustas /data/sales grupi omanik.
- KÀivitage rm -rf lisa*. Sticky bit takistab nende failide kustutamist kasutaja linda nimel, kuna te ei ole nende failide omanik. Pange tÀhele, et kui kasutaja linda on kausta /data/sales omanik, saab ta nende faile ikkagi kustutada!
ACL haldamine (setfacl, getfacl) Linuxis
Isegi kui eelnevalt arutletud laiendatud Ă”igused lisavad kasulikku funktsionaalsust Linuxi tööle lubamisĂ”iguste osas, ei luba see teil anda Ă”igusi rohkem kui ĂŒhele kasutajale vĂ”i grupile ĂŒhe faili puhul.
Juhtimiskontrolli loendid pakuvad seda funktsiooni. Lisaks vÔimaldavad need administraatoritel seada vaikeÔigusi keeruliselt, kus seatud Ôigused vÔivad erineda erinevates kaustades.
ACL mÔistmine
Kuigi ACL alamsĂŒsteem lisab teie serverile suurepĂ€raseid funktsioone, on sellel ĂŒks puudus: mitte kĂ”ik utiliidid ei toeta seda. SeetĂ”ttu vĂ”ite kaustade kopeerimise vĂ”i liigutamise kĂ€igus ACL seadeid kaotada, ja varundustarkvara ei pruugi ACL seadeid varundada.
Tööriist tar ei toeta ACL. Veenduge, et ACL seaded ei kaoks varukoopia loomise ajal, kasutades star asetuse asemel tar, star mis töötab samade valikutega nagu tar; see lihtsalt lisab ACL seadeid toetuse.
Saate ka varundada ACL abil getfacl, mille saab taastada setfacl kĂ€suga. Varukoopia loomiseks kasutage getfacl -R /directory > file.acls. Taastamise seadete jaoks varukoopiast failist kasutage setfacl ârestore=file.acl.
MĂ”nede tööriistade toetuse puudumine ei tohiks olla probleem. ACL loendite rakendamine kaustadele on sageli struktuurne meede, mitte ĂŒksikutele failidele.
SeetĂ”ttu ei ole neid palju, vaid vaid mĂ”ned, rakendatuna nutikates kohtades failisĂŒsteemis. Seega on algsete ACL-nimekirjade taastamine, millega töötasite, suhteliselt lihtne, isegi kui teie varundustarkvara ei toeta neid.
FailisĂŒsteemi ettevalmistamine ACL-ide jaoks
Enne ACL-idega töötamist vĂ”ib olla vajalik valmistada failisĂŒsteem ette ACL-ide toetamiseks. Kuna failisĂŒsteemi metaandmeid tuleb laiendada, ei pruugi failisĂŒsteemi ACL-ide vaikimisi toetust olla. Kui saate Ă”iguste nimekirjade seadistamisel teate âoperation not supportedâ, ei pruugi teie failisĂŒsteem ACL-e toetada.
Selle parandamiseks peate lisama valiku acl mount faili /etc/fstab, et failisĂŒsteem oleks vaikevahetuses ACL-e toetav.
ACL-i seadistamine ja vaatamine setfacl ja getfacl abil
ACL-i seadistamiseks vajate kÀsku setfacl. Hetkeliste ACL-seadistuste nÀgemiseks vajate getfacl. KÀsk ls -l ei nÀita mingeid olemasolevaid ACL-e; see nÀitab lihtsalt + lubade loendi lÔpus, mis nÀitab, et ACL-id on rakendatud ka failile.
Enne ACL-e seadistamist on alati kasulik nÀidata praeguseid ACL-seadeid kÀsku kasutades getfacl. Allpool nÀete nÀite abil praeguseid Ôigusi, nagu nÀidatud ls -l, samuti, nagu on nÀidatud getfacl. Kui vaatate piisavalt tÀhelepanelikult, nÀete, et kuvatud teave on tÀpselt sama.
[root@server1 \/]# ls -ld \/dir\ndrwxr-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
KĂ€sku tĂ€itmise tulemusena getfacl nĂ€htub, et Ă”igused on nĂ€idatud kolme erineva objekti jaoks: kasutaja, grupp ja teised. NĂŒĂŒd lisame ACL-i, et andma lugemis- ja kĂ€ivitamisĂ”igusi grupile sales. Selleks on kĂ€sk setfacl -m g:sales:rx \/dir. Selle kĂ€sku -m nĂ€itab, et praeguseid ACL-seadeid tuleb muuta. PĂ€rast seda g:sales:rx teavitab kĂ€sku, et seadistada ACL lugemis- ja kĂ€ivitamisĂ”iguseks (rx) grupile (g) sales. Allpool nĂ€ete, milline kĂ€sk vĂ€lja nĂ€eb, samuti getfacl-kĂ€sku tagastatud vĂ€ljund pĂ€rast praeguste ACL-seadeid muutmist.
[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
NĂŒĂŒd, kui te mĂ”istate, kuidas muuta rĂŒhmapĂ”hiseid ACL-e, on lihtne mĂ”ista ACL-e kasutajate ja teiste jaoks. NĂ€iteks kĂ€sk setfacl -m u:linda:rwx /data annab Ă”igused kasutajale linda kaustas /data, muutes teda samas omanikuks ja mitte muutes hetke omaniku mÀÀrangut.
Meeskond setfacl omab palju vĂ”imalusi ja valikuid. Ăks variant on eriti oluline, parameeter -R. Kui seda kasutatakse, seadistus teeb ACL-i seadistamise kĂ”ikidele failidele ja alamkaustadele, mis hetkel asuvad kaustas, kus te ACL-e seadistate. Soovitav on seda valikut alati kasutada, kui muudate ACL-nimekirju olemasolevates kaustades.
Töötamine pÔhise ACL-iga
Ăks ACL-nimekirjade kasutamise eeliseid on see, et saate anda Ă”igusi mitmele kasutajale vĂ”i rĂŒhmale kaustas. Teine eelis on see, et saate lisada pĂ€rimise, töötades pĂ”hise ACL-iga.
Seades pÔhise ACL-i, mÀÀrate Ôigused, mis kehtivad kÔigile uutele elementidele, mis luuakse kaustas. Pidage meeles, et pÔhised ACL-id ei muuda olemasolevate failide ja alamkaustade Ôigusi. Nende muutmiseks peate lisama ka tavalise ACL-i!
See on oluline teada. Kui soovite kasutada ACL-e mitme kasutaja vÔi grupi juurdepÀÀsu seadistamiseks samasse kausta, peate ACL-i seadistama kaks korda. Esiteks kasutage setfacl -R -m, et muuta ACL-i olemasolevatele failidele. SeejÀrel kasutage setfacl -m d:, et hoolitseda kÔigi uute elementide eest, mis samuti luuakse.
PĂ”hise ACL-i seadistamiseks peate lihtsalt lisama valiku d pĂ€rast valikut -m (!jĂ€rjekord on oluline!). Seega kasutage setfacl -m d:g:sales:rx /data, kui soovite, et mĂŒĂŒgigrupp saaks lugeda ja kĂ€ivitada kĂ”ike, mis kunagi loodud kaustas /data.
PÔhiste ACL-idega töötamisel vÔib samuti olla kasulik seada ACL teistesse. Tavaliselt ei oma see erilist tÀhendust, kuna saate ka muuta Ôigusi teiste jaoks, kasutades chmod. Kuid seda te ei saa teha kasutades chmod, see mÀrkida Ôigused, mis peavad olema antud teistele kasutajatele iga uue faili jaoks, mis kunagi loodakse. Kui soovite, et teised ei saaks mingeid Ôigusi midagi, mis on loodud \/data, siis nÀiteks kasutage setfacl -m d:o::- \/data.
ACL ja tavalised Ă”igused ei ole alati hĂ€sti integreeritud. Probleemid vĂ”ivad tekkida, kui olete rakendanud ACL vaikevÀÀrtusena kaustale, pĂ€rast mida on kausta lisatud esemeid ja seejĂ€rel proovite muuta tavalisi Ă”igusi. Tavalistele Ă”igustele rakendatavad muudatused ei peegeldu hĂ€sti ACL-i ĂŒlevaates. Probleemide vĂ€ltimiseks seadistage kĂ”igepealt tavalised Ă”igused, seejĂ€rel seadistage vaikimisi ACL (ja pĂ€rast seda pĂŒĂŒdke neid uuesti mitte muuta).
NÀide laiendatud Ôiguste haldamisest kasutades ACL-i
Selles nĂ€ites jĂ€tkate töötamist kaustadega \/data\/account ja \/data\/sales, mille olete varem loonud. Eelmistes nĂ€idetes olete taganud, et rĂŒhmal sales on Ă”igused \/data\/sales, ja rĂŒhmal account on Ă”igused \/data\/account.
Esiteks veenduge, et rĂŒhm account saaks lugemisĂ”igused kaustas \/data\/sales, ja rĂŒhm sales saaks lugemisĂ”igused kaustas \/data\/account.
SeejÀrel seadistate vaikimisi ACL-id, et veenduda, et kÔigi uute failide Ôigused on kÔikidele uutele elementidele Ôigesti seadistatud.
- Avage terminal.
- KĂ€ivitage setfacl -m g:account:rx \/data\/sales ja setfacl -m g:sales:rx \/data\/account.
- KÀivitage getfacl, et veenduda, et juurdepÀÀsuÔigused on seadistatud nii, nagu soovisite.
- KĂ€ivitage setfacl -m d:g:account:rwx,g:sales:rx \/data\/sales, et seadistada vaikimisi ACL mĂŒĂŒgi kaustas.
- Lisage vaikimisi ACL kausta \/data\/account, kasutades setfacl -m d:g:sales:rwx,g:account:rx \/data\/account.
- Veenduge, et ACL-i seaded toimivad, lisades uue faili kausta \/data\/sales. TÀitke touch \/data\/sales\/newfile ja kÀivitage getfacl \/data\/sales\/newfile , et kontrollida praeguseid Ôigusi.
Vaikimisi Ôiguste seadmine umaski
Nagu ĂŒlalpool mainitud, Ă”ppisite, kuidas töötada vaikimisi ACL-idega. Kui te ei kasuta ACL-e, on olemas shell'i parameeter, mis mÀÀrab vaikimisi Ă”igused, mida te saate: umask (tagasi mask). Selles jaotises Ă”pite, kuidas muuta vaikimisi Ă”igusi, kasutades umask.
Olete tÔenÀoliselt mÀrganud, et uue faili loomisel seadistatakse teatud vaikimisi Ôigused. Need Ôigused mÀÀratakse seade kaudu umask. See Shell's parameter applies to all users upon login. In the parameter umask the numerical value is used, which is subtracted from the maximum permissions that can be automatically set for a file; the maximum setting for files is 666, and for directories, it is 777.
However, there are some exceptions to this rule. You can find a complete overview of the settings umask in the table below.
From the digits used in umask, as in the case of numerical arguments for the command chmod, the first digit refers to user permissions, the second digit pertains to group permissions, and the last relates to default permissions set for others. The value umask by default 022 gives 644 for all new files and 755 for all new directories created on your server.
A complete overview of all numerical values umask and their results is in the table below.

A simple way to see how the umask parameter works is as follows: start with the default file permissions set to 666, and subtract the umask to get the effective permissions. Do the same for the directory and its default permissions of 777.
There are two ways to change the umask setting: for all users and for individual users. If you want to set the umask for all users, you must ensure that the umask parameter is taken into account when running shell environment files, as specified in /etc/profile. The proper approach is to create a shell script named umask.sh in the /etc/profile.d directory and specify the umask you want to use in this shell script. If the umask is altered in this file, it applies to all users after logging into the server.
An alternative to setting umask via /etc/profile and related files, where it applies to all users logging in, is to change the umask settings in a file named .profile, which is created in each userâs home directory.
The settings applied in this file are only applicable to the individual user; thus, this is a good method if you need more granularity. Personally, I like this feature to change the default umask value for the root user to 027, whereas regular users operate with a default umask of 022.
Töötamine kasutaja laiendatud atribuutidega
See on viimane osa Linuxi Ôigustest.
Failide Ôigustega töötamisel eksisteerib alati suhe kasutaja vÔi grupi objekti ning nendel objektidel oleva faili vÔi katalooge Ôiguste vahel. Alternatiivne meetod failide kaitsmiseks Linuxi serveris on töötamine atribuutidega.
Atribuudid tĂ€idavad oma ĂŒlesandeid sĂ”ltumatult sellest, milline kasutaja faile kĂŒsib.
Nagu ka ACL-i puhul, vÔib faili atribuutide jaoks olla vajalik lubada valik mount.
See on valik user_xattr. Kui saate sÔnumi «operation not supported» töötades kasutaja laiendatud atribuutidega, veenduge, et olek oleks seadistatud mount failis /etc/fstab.
Paljusid atribuute on dokumenteeritud. MĂ”ned atribuudid on saadaval, kuid veel ei ole neid rakendatud. Ăra kasuta neid; need ei prugi sulle midagi anda.
Allpool on kÔige kasulikumad atribuudid, mida saate kasutada:
A See atribuut garanteerib, et faili juurde pÀÀsemise aeg ei muutu.
Tavaliselt salvestatakse iga kord, kui fail avatakse, faili juurde pÀÀsemise aeg faili metaandmetesse. See mÔjutab jÔudlust negatiivselt; seetÔttu saab atribuutit A kasutada selle funktsiooni keelamiseks regulaarse juurdepÀÀsuga failide puhul.
a See atribuut vÔimaldab lisada, kuid mitte faili kustutada.
c Kui kasutate failisĂŒsteemi, mis toetab mahu tasemel rĂ”hukompressiooni, garanteerib see failinimede atribuut, et fail kompressitakse esmakordselt, kui rĂ”humehhanism sisselĂŒlitatakse.
D See atribuut garanteerib, et muudatused failides salvestatakse koheselt kettale, mitte esmalt vahemÀlu. See on kasulik atribuut oluliste andmebaasifailide jaoks, et tagada, et need ei kaoks failide vahemÀlu ja kÔvaketta vahel.
d See atribuut garanteerib, et faili ei salvestata varukoopiate tegemisel, kus kasutatakse dump utiliiti.
I See atribuut lubab indeksimist kataloogis, milles see on lubatud. See tagab kiirema juurdepÀÀsu failidele primitiivsetes failisĂŒsteemides, nagu Ext3, mis ei kasuta B-tree andmebaasi kiireks failide leidmiseks.
i See atribuut muudab faili muutumatuks. Seega ei saa faili muuta, mis on kasulik failide jaoks, mis vajavad tÀiendavat kaitset.
j See atribuut garanteerib, et fail salvestatakse esmalt registrisse ja seejĂ€rel fĂŒĂŒsilisse mĂ€lusse ext3 failisĂŒsteemis.
s Ăle kirjutada plokid, kuhu fail oli salvestatud, nullidega pĂ€rast faili kustutamist. See tagab, et faili taastamine pole vĂ”imalik pĂ€rast selle kustutamist.
), rĂŒhma ( See atribuut sĂ€ilitab kustutamise teabe. See vĂ”imaldab vĂ€lja töötada utiliidi, mis töötab selle teabega kustutatud failide taastamiseks.
Kui soovite rakendada atribuute, vĂ”ite kasutada kĂ€sku chattr. NĂ€iteks kasutage chattr +s somefile, et rakendada atribuute somefile'ile. Kui soovite atribuuti eemaldada, kasutage chattr -s somefile, ja see eemaldatakse. Praeguste rakendatud atribuutide ĂŒlevaate saamiseks kasutage kĂ€sku lsattr.
Elulookirjeldus
Selles artiklis tutvustasite, kuidas töötada Ă”igustega. Lugesite kolmest pĂ”hioigusest, laiendatud Ă”igustest ja sellest, kuidas rakendada ACL-loendeid failisĂŒsteemis. Samuti tutvustasite, kuidas kasutada umask parameetrit vaikeĂ”iguste rakendamiseks. Artikli lĂ”pus Ă”ppisite, kuidas kasutada kasutaja laiendatud atribuute, et rakendada failisĂŒsteemile tĂ€iendavat turvakihi.
Kui see tÔlge Teile meeldib, palun andke sellest teada kommentaarides. See annaks rohkem motivatsiooni teha kasulikke tÔlkeid.
Artiklis parandasime mĂ”ned trĂŒkivead ja grammatikavead. VĂ€hendasin mĂ”ningaid mahukaid lĂ”ike vĂ€iksemateks, et neid oleks kergem lugeda.
TĂ”in vĂ€lja: âAinult keegi, kellel on administreerimisĂ”igused kataloogis, saab rakendada tĂ€itmisĂ”igust.â muutisin âAinult keegi, kellel on kirjutamisĂ”igus kataloogis, saab rakendada tĂ€itmisĂ”igust.â, mis on tĂ€psem.
TÀhelepanekute eest tÀnan .
Asendatud:
Kui te ei ole omaniku kasutaja, uurib shell, kas te olete grupi liige, mida nimetatakse ka faili grupiks.Muudetud:
Kui te ei ole faili omanik, kontrollib shell, kas olete grupi liige, kellel on sellele failile Ôigused. Kui olete selle grupi liige, saate faili juurde pÀÀseda grupile mÀÀratud Ôigustega ja shell lÔpetab kontrollimise.AitÀh mÀrkuse eest
Allikas: habr.com
