Linuxi Ôigused (chown, chmod, SUID, GUID, sticky bit, ACL, umask)

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 kogenumatel administraatoritel oma teadmisi korrastada.

Nii et, hakkame pihta.

Linuxi Ôigused (chown, chmod, SUID, GUID, sticky bit, ACL, umask)

Linuxis faili- ja kaustafailide juurde pÀÀsemiseks kasutatakse Ôigusi. Need Ôigused mÀÀratakse kolmele objektile: faili omanikule, grupi omanikule ja muule objektile (st kÔigile teistele). Selles artiklis saate teada, kuidas Ôigusi rakendada.

Artikkel algab peamiste mĂ”istete ĂŒlevaatega, millele jĂ€rgneb spetsiifiliste Ă”iguste (Special permissions) ja juurdepÀÀsukontrollide (ACL) arutelu. Artikli lĂ”pus kĂ€sitletakse vaike Ă”iguste seadeid umask'i kaudu ning kasutaja laiendatud atribuutide haldamist.

Failide omamise haldamine

Enne Ôiguste arutamist peate teadma faili ja kausta omaniku rolli. Failide ja kaustade omamine on Ôiguste haldamiseks ÀÀrmiselt oluline. Selles jaotises saate kÔigepealt teada, kuidas nÀha omanikku. SeejÀrel saate teada, kuidas muuta grupi ja kasutaja omaniku seadistusi failide ja kaustade puhul.

Faili vÔi katalooge omaniku kuvamine

Linuxis on igal failil ja igal kataloogil kaks omanikku: kasutaja ja grupi omanik.

Need omanikud mÀÀratakse faili vÔi katalooge loomisel. Faili loomise ajal muutub kasutaja selle faili omanikuks ning tema pÔhigrupp saab samuti selle faili omanikuks. Selleks, et kindlaks teha, kas teil, kasutajana, on faili vÔi katalooge juurde pÀÀsemise Ôigused, kontrollib kesta nende omamist.

See toimub jÀrgmises jÀrjekorras:

  1. Kesta kontrollib, kas olete faili omanik, millele soovite juurde pÀÀseda. Kui olete selle omanik, antakse teile Ôigused ja kesta lÔpetab kontrollimise.
  2. Kui te ei ole faili omanik, kontrollib kesta, kas olete grupi liige, kellel on sellele failile Ôigused. Kui olete selle grupi liige, antakse teile juurdepÀÀs failile gruppide jaoks kehtestatud Ôigustega ning kesta lÔpetab kontrollimise.
  3. Kui te ei ole grupi kasutaja ega omanik, omandate teiste kasutajate Ôigused (Other).

Selleks, et nÀha omaniku praeguseid mÀÀranguid, saate kasutada kÀsku ls -l. See kÀsk nÀitab kasutajat ja grupi omaniku. Allpool saate nÀha omaniku seadeid kataloogides katalooge /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Ă”ib kuvada failide omaniku antud kataloogis. MĂ”nikord vĂ”ib osutuda kasulikuks saada nimekiri kĂ”igist sĂŒsteemi failidest, mille omanikuks on mÀÀratud see kasutaja vĂ”i grupp. Selleks vĂ”ite kasutada find. Argument find -user saab selle eesmĂ€rgi tĂ€itmiseks kasutada. NĂ€iteks nĂ€itab jĂ€rgmine kĂ€sk kĂ”iki faile, mille omanikuks on mÀÀratud kasutaja linda:

find / -user linda

Samuti vĂ”ite kasutada find failide otsimiseks, mille omanikuks on teatud rĂŒhm.

NÀiteks jÀrgnev kÀsk otsib kÔiki faile, mis kuuluvad grupile users:

find / -group users

Omaniku muutmine

Asjakohaste Ôiguste rakendamiseks on esimene asi, mida kaaluda, omamine. Selleks on kÀsk chown. Selle kÀsu syntaks pole keeruline:

chown kellele millele

NÀiteks jÀrgnev kÀsk muudab katalooge /home/account kasutaja lindast:

chown linda /home/account

Meeskond chown on mitmeid valikuid, ĂŒks neist on eriti kasulik: -R. VĂ”ite arvata, mida see teeb, sest see valik on saadaval paljude teiste kĂ€skude puhul. See vĂ”imaldab teil rekursiivselt seadistada omaniku, vĂ”imaldades teil mÀÀrata omaniku kĂ€esolevale kataloogile ja kĂ”igile seal all olevatele. JĂ€rgmine kĂ€sk muudab omaniku kasutajaks linda kataloogis /home ja selle all olevas struktuuris:

Praegu on omanikud jÀrgmised:

[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 katalooge account omanikuks:

[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

RĂŒhma omaniku muutmine

On kaks vĂ”imalust, kuidas muuta rĂŒhma omanikku. Saate seda teha, kasutades chown, kuid on olemas spetsiaalne kĂ€sk nimega chgrp, mis teeb selle töö. Kui soovite kasutada kĂ€sku chown, kasutage . vĂ”i : rĂŒhma nime ees.

JĂ€rgmine kĂ€sk muudab rĂŒhma omaniku /home/account rĂŒhmaks account:

chown .account /home/account

Saate kasutada chown omaniku ja/vĂ”i rĂŒhma muutmiseks mitmel viisil. Siin on mĂ”ned nĂ€ited:

  • chown lisa myfile1 seab kasutaja lisa myfile1 faili omanikuks.
  • chown lisa.sales myfile seab kasutaja lisa faili omanikuks, samuti muudab rĂŒhma sales selle faili omanikuks.
  • chown lisa:sales myfile on sama, mis eelmine kĂ€sk.
  • chown .sales myfile seab rĂŒhma sales faili myfile omanikuks ilma kasutaja omaniku muutmiseta.
  • chown :sales myfile on sama, mis eelmine kĂ€sk.

Saate kasutada kĂ€sku chgrp, et muuta rĂŒhma omanikku. Vaadake jĂ€rgmist nĂ€idet, kus saate chgrp seada katalooge account rĂŒhmaks sales:

chgrp .sales /home/account

Nii nagu eelnevalt chown, saate kasutada valikut -R koos chgrp, samuti muuta grupi omaniku rekursiivselt.

Vaikimisi omanik

Olete ehk mÀrganud, et kui kasutaja loob faili, rakendatakse vaikimisi omandit.
Faili loonud kasutaja on automaatselt selle faili omanik, ja selle kasutaja pĂ”higrupp muutub automaatselt selle faili omanikuks. TĂŒĂŒpiliselt on see grupp, mis on failis /etc/passwd mÀÀratud kasutaja pĂ”higrupp. Kuid kui kasutaja kuulub mitmesse gruppi, vĂ”ib ta muutuda tĂ”husaks pĂ”higruppideks.

Et nĂ€idata praegust tĂ”husat pĂ”hirĂŒhma, vĂ”ib kasutaja kasutada kĂ€sku groups:

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

Kui praegune kasutaja linda soovib muuta oma tĂ”husat pĂ”higruppi, peab ta kasutama kĂ€sku newgrp, millele jĂ€rgneb grupi nimi, mille ta soovib seada uueks tĂ”husaks pĂ”higruppiks. PĂ€rast kĂ€su kasutamist newgrp pĂ”hirĂŒhm peab olema aktiivne, kuni kasutaja sisestab kĂ€su exit vĂ”i logib vĂ€lja.

Allpool on nÀidatud, kuidas kasutaja linda seda kÀsku kasutab, kui esmane grupp on muutunud 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 esmaste grupi muutmist saavad kĂ”ik uued failid, mille kasutaja loob, selle grupi omaniku rĂŒhmaks. Esialgse esmaste grupi seadistuse tagasitoomiseks kasutage exit.

Kasutamiseks newgrp, peab kasutaja olema selle grupi liige, mida ta soovib kasutada esmasena. Lisaks vĂ”ib grupi parooli kasutada grupi jaoks kĂ€su gpasswd. Kui kasutaja kasutab kĂ€sku newgrp, kuid ei ole sihtgrupi liige, kĂŒsib kest parooli grupi jaoks. PĂ€rast Ă”igete grupi parooli sisestamist seatakse uus efektiivne esmane grupp.

Peamiste Ôiguste haldamine

Linuxi Ă”iguste sĂŒsteem leiutati 1970. aastatel. Kuna sel ajal olid arvutusvajadused piiratud, oli algne Ă”iguste sĂŒsteem ĂŒsna piiratud. See Ă”iguste sĂŒsteem kasutab kolme Ă”igust, mida saab rakendada failidele ja kataloogidele. Selles jaotises Ă”pid, kuidas neid Ă”igusi kasutada ja muuta.

Lugemise, kirjutamise ja tÀitmise Ôiguste mÔistmine

Kolm peamist Ôigust vÔimaldavad sul lugeda, kirjutada ja faile tÀita. Nende Ôiguste mÔju erineb failide ja kataloogide puhul. Faili puhul annab lugemise Ôigus sulle Ôiguse faili avada ja selle sisu lugeda. See tÀhendab, et sinu arvuti saab faili avada, et midagi selle tegemiseks teha.

Programmirakenduse fail, mis vajab juurdepÀÀsu teegile, peab nÀiteks selle teegi lugemiseks olema juurdepÀÀs. Seega on lugemise Ôigus kÔige pÔhilisem Ôigus, mida vajad failidega töötamiseks.

Katalooge lugemine vĂ”imaldab selle sisu kuvada. Peate teadma, et see luba ei luba teil kataloogis faile lugeda. Linuxi lubade sĂŒsteem ei tunne pĂ€rimist ning ainus viis faili lugemiseks on selle faili lugemisĂ”iguste omamine.

Nagu vÔite arvata, lubab kirjutamisÔigus, kui see on mÀÀratud failile, failis kirjutada. TeisisÔnu, see vÔimaldab olemasolevate failide sisu muuta. Kuid see ei luba uusi faile luua ega eemaldada ega faili Ôigusi muuta. Selleks peate andma kirjutamisÔiguse kataloogile, kus soovite faili luua. Kataloogides lubab see Ôigus ka uusi alamkatalooge luua ja eemaldada.

TĂ€itemismeetmed on see, mida vajate faili kĂ€itamiseks. See ei ole kunagi vaikimisi sisse lĂŒlitatud, mis teeb Linuxi praktiliselt tĂ€iesti vastupidavaks viirustele. Ainult keegi, kellel on kirjutamisĂ”igus kataloogile, saab tĂ€itmise Ă”igust rakendada.

Allpool on kokku vÔetud pÔhiliste lubade kasutamine:

Linuxi Ôigused (chown, chmod, SUID, GUID, sticky bit, ACL, umask)

chmod kasutamine

Õiguste haldamiseks kasutatakse kĂ€sku chmod. Kasutades chmod saate seada Ă”igusi kasutajale (user), grupile (group) ja teistele (other). Seda kĂ€sku saab kasutada kahes reĆŸiimis: suhtelises reĆŸiimis ja absoluutreĆŸiimis. AbsoluutreĆŸiimis kasutatakse kolme numbrit peamiste Ă”iguste seadmiseks.

Linuxi Ôigused (chown, chmod, SUID, GUID, sticky bit, ACL, umask)

Õiguste seadmisel arvutage soovitud vÀÀrtus. Kui soovite seada lugemise, kirjutamise ja kĂ€itamise Ă”igused kasutajale, lugemise ja kĂ€itamise Ă”igused grupile ning lugemise ja kĂ€itamise Ă”igused teistele failis /somefile, siis kasutage jĂ€rgmist kĂ€sku chmod:

chmod 755 /somefile

Kui kasutate chmod sellisel viisil, asendatakse kÔik praegused Ôigused teie seadmiseks pandud Ôigustega.

Kui soovite muuta Ă”igusi praeguste Ă”iguste suhtes, vĂ”ite kasutada chmod suhtelises reĆŸiimis. Suhtelises reĆŸiimis kasutades töötate kolme indikaatoriga, et nĂ€idata, mida soovite teha: chmod relatiivselt töötades kasutate kolme indikaatorit, et nĂ€idata, mida te soovite teha:

  1. Esiteks nÀitate, kelle Ôigusi soovite muuta. Selleks vÔite valida kasutaja (u), grupi (g) ja teiste (o).
  2. SeejĂ€rel kasutate operaatorit, et lisada vĂ”i eemaldada Ă”igusi praeguses reĆŸiimis vĂ”i seada need tĂ€iesti.
  3. LÔpuks kasutate r, w ja x, et mÀÀrata, milliseid Ôigusi soovite seadistada.

Kui muudate Ă”igusi suhtelises reĆŸiimis, saate osa 'kellele' vahele jĂ€tta, et lisada vĂ”i eemaldada Ă”igus kĂ”ikidele objektidele. NĂ€iteks see kĂ€sk annab kasutusĂ”iguse kĂ”igile kasutajatele:

chmod +x somefile

Suhtelises reĆŸiimis töötades vĂ”ite kasutada ka keerukamaid kĂ€ske. NĂ€iteks see kĂ€sk lisab kirjutamisĂ”iguse grupile ja eemaldab lugemisoiguse teistele:

chmod g+w,o-r somefile

VPN-teenuse kasutamisel chmod -R o+rx /data seate kÔigile kataloogidele, samuti katalooge sisaldavatele failidele tÀitmisÔiguse. Kui soovite seada tÀitmisÔiguse ainult kataloogidele, mitte failidele, kasutage chmod -R o+ rX /data.

X ĂŒlemine registri tagab, et failide kĂ€itamise Ă”igusi ei anta, kui fail ei ole juba andnud mĂ”ned Ă”igused kĂ€itamiseks. See teeb X-st mĂ”istlikuma viisi kĂ€itamisĂ”iguste haldamiseks; see aitab vĂ€ltida kĂ€itamisĂ”iguste andmist failidele, kus seda ei vajata.

Laienenud Ôigused

Lisaks pÔhilistele Ôigustele, millest just rÀÀkisite, on Linuxis ka komplekt laienenud Ôigusi. Need ei ole Ôigused, mida te vaikimisi seadistate, kuid mÔnikord pakuvad need kasulikku tÀiendust. Selles osas Ôpite, mis need on ja kuidas neid seadistada.

Laienenud Ôiguste SUID, GUID ja sticky bit mÔistmine

On kolm edasijÔudnud Ôigust. Esimene neist on kasutaja identiteedi seadistamise Ôigus (SUID). Teatud erilistes olukordades vÔite selle Ôiguse rakendada tÀitmisfailidele. Vaikimisi kÀivitab failiga töötav kasutaja selle oma Ôigustega.

Tavaliste kasutajate puhul tĂ€hendab see tavaliselt, et programmi kasutamine on piiratud. Kuid mĂ”nel juhul vajab kasutaja teatud ĂŒlesande tĂ€itmiseks eraldi Ă”igusi.

VÔtame nÀiteks olukorra, kus kasutaja peab vahetama parooli. Selleks peab kasutaja kirjutama oma uue parooli faili /etc/shadow. Kuid see fail ei ole kirjutamiseks kergesti kÀttesaadav kasutajatele, kellel ei ole root Ôigusi:

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

SUID-luba pakub sellele probleemile lahendust. Failis /usr/bin/passwd rakendatakse seda lubamist vaikimisi. See tÀhendab, et parooli vahetamisel saab kasutaja ajutiselt root Ôigused, mis vÔimaldavad tal kirjutada faili /etc/shadow. Saate nÀha SUID-luba ls -l kuidas s positsioonis, kus te tavaliselt ootate nÀhtud x kasutaja Ôiguste jaoks:

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

SUID-i lubamine vÔib tunduda kasulik (ja mÔnel juhul tÔepoolest on), kuid samas on see potentsiaalselt ohtlik. Vale kasutamise korral vÔite kogemata anda root-kasutaja Ôigused. SeetÔttu soovitan seda kasutada ainult ÀÀrmise ettevaatlikkusega.

Enamikul administraatoritel ei tule seda kunagi kasutada; te nĂ€ete seda ainult mĂ”nedes failides, kus operatsioonisĂŒsteem peab selle vaikimisi seadma.

Teine eriline lubamine on grupi identifikaator (SGID). Sellel lubamisel on kaks mÔju. Kui seda rakendatakse tÀidetavale failile, annab see faili tÀitjale selle faili grupi omaniku Ôigused. Seega vÔib SGID teha enam-vÀhem sama, mida SUID. Siiski ei kasutata SGID-i selle eesmÀrgi jaoks praktiliselt kunagi.

Nagu SUID-i puhul, rakendatakse SGID mĂ”nedele sĂŒsteemifailidele vaikeseadetena.

Katalooge rakendades vĂ”ib SGID olla kasulik, sest seda saab kasutada selleks, et mÀÀrata vaikimisi rĂŒhma omanikuks kaustas loodud failide ja alamkaustade jaoks. Vaikimisi seotakse, kui kasutaja loob faili, selle efektiivne esmane rĂŒhm faili rĂŒhma omanikuks.

See ei ole alati vĂ€ga kasulik, eriti kuna Red Hat/CentOS kasutajatel on nende peamiseks rĂŒhmaks rĂŒhm, mille nimi on sama, mis kasutajal, ja nad on ainukesed selle osalised. Seega on vaikimisi failid, mida kasutaja loob, ĂŒhiseks rĂŒhmaks.

Kujutage ette olukorda, kus kasutajad linda ja lori töötavad raamatupidamises ja on rĂŒhma account. Vaikimisi on need kasutajad liikmed erarĂŒhmast, mille ainus liige nad on. KĂŒll aga on mĂ”lemad kasutajad ka rĂŒhma account liikmed, kuid samas ka teise rĂŒhma osalised.

Vaikimisi olukord on see, et kui ĂŒkskĂ”ik milline neist kasutajatest loob faili, siis muutub pĂ”higrupp omanikuks. Seega ei saa vaikimisi linda juurde pÀÀseda lori loodud failidele ja vastupidi. Kuid kui loote grupi jagatud katalooge (ĂŒtleme, /groups/account) ja veendute, et SGID Ă”igustus on sellele kataloogile rakendatud ning grupi konto on seadistatud selle katalooge grupi omaniku Ă”iguseks, saavad kĂ”ik selles kataloogis ja kĂ”igis selle alamkataloogides loodud failid samuti konto grupist vaikimisi grupi omanikuks.

SeetÔttu on SGID Ôigustus vÀga kasulik Ôigustus, mida seada grupi jagatud kataloogidesse.

SGID Ôigust nÀidatakse vÀljundis ls -l kuidas s kohtades, kus tavaliselt leidub grupi tÀitmisÔigus:

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

Kolmas eriline luba on sticky bit. See luba on kasulik failide kaitsmiseks juhusliku kustutamise eest keskkonnas, kus mitmel kasutajal on kirjutamisĂ”igused samasse katalooge. Kui sticky bit on aktiivne, saab failid kustutada ainult kasutaja, kes on selle faili vĂ”i faili sisaldava katalooge omanik. SeetĂ”ttu on see vaikimisi luba kataloogile /tmp ja vĂ”ib olla kasulik ka ĂŒhiste rĂŒhmade kataloogidele.

Ilma sticky bitita, kui kasutajal on luba luua faile kataloogis, on tal ka Ôigus kustutada faile sellest kataloogist. Avalikus grupikeskkonnas vÔib see olla hÀiriv. Kujutage endale ette kasutajaid linda ja lori, kellel on mÔlema kirjutamisÔigused kataloogis /data/account, ning nad on saanud need Ôigused osalemise kaudu grupis account. SeetÔttu saab linda kustutada failid, mille on loonud lori, ja vastupidi.

Kui rakendate sticky biti, saab kasutaja faile kustutada ainult siis, kui tĂ€idetakse ĂŒks jĂ€rgmistest tingimustest:

  • Kasutaja on faili omanik;
  • Kasutaja on faili asukoha katalooge omanik.

VPN-teenuse kasutamisel ls -l, saate sticky bitti nÀha t kohta, kus tavaliselt nÀete tÀitevÔimet teiste jaoks:

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

Omandatud Ôiguste rakendamine

SUID, SGID ja sticky bitti rakendamiseks vÔite kasutada ka chmod. SUID-l on numbriline vÀÀrtus 4, SGID-l on numbriline vÀÀrtus 2 ja sticky bit-l on numbriline vÀÀrtus 1.

Kui soovite neid Ôigusi rakendada, peate lisama neljakohalise argumendi chmod, mille esimene number viitab erilistele Ôigustele. JÀrgmine rida lisab nÀiteks SGID Ôiguse kataloogile ja seab rwx kasutajale ning rx grupile ja teistele:

chmod 2755 /somedir

See on ĂŒsna ebamugav, kui peate vaatama praeguseid juurdepÀÀsuĂ”igusi enne, kui töötate 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 erilist Ă”igust:

  1. SUID jaoks kasutage chmod u+s.
  2. SGID jaoks kasutage chmod g+s.
  3. Sticky bitti jaoks kasutage chmod +t, ja seejÀrel faili vÔi katalooge nimi, mille jaoks soovite Ôigused seadistada.

Tabelis on kokku vÔetud kÔik, mida on oluline teada eriloakohase haldamise kohta.

Linuxi Ôigused (chown, chmod, SUID, GUID, sticky bit, ACL, umask)

NÀide erilise Ôiguste kasutamisest

Selles nĂ€ites kasutate eriloakohaseid Ă”igusi, et lihtsustada grupi liikmete failide vahetamist ĂŒhises kataloogis. MÀÀrate seadistatud grupi ID-biti ja sticky biti ning nĂ€ete, kuidas nende seadistamine toob kaasa koosolekute hĂ”lbustamiseks lisafunktsioone.

  1. Avage terminal, kus olete kasutaja linda. Kasutaja loomine on vÔimalik kÀsuga useradd linda, lisage parool passwd linda.
  2. Looge juurkaustas /data ja alamkataloog /data/sales kĂ€suga mkdir -p /data/sales. Sooritage cd /data/sales, et minna sales katalooge. Sooritage touch linda1 ja touch linda2, et luua kaks tĂŒhja faili, mille omanik on linda.
  3. Sooritage su — lisa et vahetada praegust kasutajat kasutajaks lisa, kes on samuti grupi sales liige.
  4. Sooritage cd /data/sales ja kÀivitage see kataloogist. ls -l. Te nÀete kahte faili, mis loodi kasutaja lindaga ja kuuluvad grupile linda. Sooritage rm -f linda*. See kustutab mÔlemad failid.
  5. Sooritage touch lisa1 ja touch lisa2, et luua kaks faili, mis kuuluvad kasutajale lisa.
  6. Sooritage su — kĂ”rgete Ă”iguste saavutamiseks root-i tasemel.
  7. Sooritage chmod g+s,o+t /data/sales, et seadistada grupi identifikaatori (GUID) ja sticky bit ĂŒhises kataloogis.
  8. Sooritage su — linda. SeejĂ€rel kĂ€ivitage touch linda3 ja touch linda4. NĂŒĂŒd peaksite nĂ€gema, et kaks teie loodud faili kuuluvad sales-grupile, mis on katalooge /data/sales omanik.
  9. Sooritage rm -rf lisa*. Sticky bit takistab nende failide kustutamist kasutaja linda poolt, kuna te ei ole nende failide omanik. Pange tÀhele, et kui kasutaja linda on katalooge /data/sales omanik, saab ta need failid ikkagi kustutada!

ACL haldamine (setfacl, getfacl) Linuxis

Isegi kui ĂŒlaltoodud laiendatud Ă”igused lisavad kasulikke funktsioone, kuidas Linux tegeleb lubadega, ei vĂ”imalda need teil mÀÀrata Ă”igusi rohkem kui ĂŒhes kasutajas vĂ”i ĂŒhes grupis ĂŒhe faili jaoks.

LigipÀÀsude kontrolli loendid pakuvad seda funktsiooni. Samuti vĂ”imaldavad need sĂŒsteemiadministraatoritel seadistada vaikeĂ”igusi keerulisel viisil, kus seatud Ă”igused vĂ”ivad erinevates kataloogides erineda.

ACL-i mÔistmine

Kuigi ACL-i alamsĂŒsteem lisab teie serverile suurepĂ€raseid funktsioone, on tal ĂŒks puudus: mitte kĂ”ik utiliidid ei toeta seda. SeetĂ”ttu vĂ”ite ACL-i seaded kaotada failide kopeerimisel vĂ”i liigutamisel ning varundustarkvara ei pruugi ACL-i seadete varundamist teostada.

Utiliit tar ei toeta ACL-i. Veenduge, et ACL-i seaded ei kaoks varukoopia loomisel, kasutades star tar-i asemel. star See töötab samade parameetritega nagu tar; see lihtsalt lisab ACL-i seadete toe.

Saate ACL-i varundamiseks kasutada ka getfacl, mida saab taastada kÀskluse setfacl abil. Varundamiseks kasutage getfacl -R /directory > file.acls. Taastamise korral kasutage faili varukoopiast seadete taastamiseks setfacl --restore=file.acl.

MĂ”nede tööriistade toetamata jĂ€tmine ei tohiks olla probleem. ACL-i loendid rakendatakse sageli kataloogidele struktuurse meetmena, mitte ĂŒksikutele failidele.
SeetĂ”ttu ei tule neid palju, vaid vaid mĂ”ned, mis on rakendatud intelligentsetesse kohtadesse failisĂŒsteemis. Seega on algsete ACL-i loendite taastamine, millega olete töötanud, suhteliselt lihtne, isegi kui teie varundustarkvara neid ei toeta.

FailisĂŒsteemi ettevalmistamine ACL-ide jaoks

Enne ACL-ide kasutamise alustamist vĂ”ib olla vajalik failisĂŒsteemi ette valmistamine ACL-i toetamiseks. Kuna failisĂŒsteemi metainfot tuleb laiendada, ei pruugi ACL-ide vaikimisi tugi failisĂŒsteemis alati olla. Kui saadate ACL-i loendite seadistamisel sĂ”numi "operation not supported", vĂ”ib teie failisĂŒsteem ACL-ide tuge mitte toetada.

Selle parandamiseks peate lisama valiku acl mount faili /etc/fstab, et failisĂŒsteem oleks vaikimisi montaaĆŸitud ACL-i toega.

ACL-i seadete muutmine ja vaatamine setfacl ja getfacl abil

ACL-i seadmiseks vajate kÀsku setfacl. Praeguste ACL seadete vaatamiseks on vajalik getfacl. KÀsk ls -l ei nÀita olemasolevaid ACL-e; see nÀitab lihtsalt + lubade nimekirja lÔpus, mis viitab sellele, et ACL nimekirjad kehtivad failile.

Enne ACL nimekirjade seadistamist on alati kasulik nÀidata praeguseid ACL seadeid kÀsu abil getfacl. Allpool nÀete nÀidises praeguseid juurdepÀÀsuÔigusi nagu on nÀidatud kÀsuga ls -l, samuti nagu on nÀidatud getfacl. Kui vaatate piisavalt tÀhelepanelikult, nÀete, et nÀidatud teave on tÀpselt sama.

[root@server1 /]# ls -ld /dir
drwxr-xr-x. 2 root root 6 Feb 6 11:28 /dir
[root@server1 /]# getfacl /dir
getfacl: Eemaldatakse absoluutsete tee nimede algne '/'
# fail: dir
# omanik: root
# grupp: root
user::rwx
group::r-x
other::r-x

KĂ€su tĂ€itmise tulemusena getfacl on allpool nĂ€ha, et Ă”igused on nĂ€idatud kolme erineva objekti jaoks: kasutaja, grupp ja teised. NĂŒĂŒd lisame ACL-i, et anda lugemis- ja kĂ€ivitamisĂ”igused grupile sales. KĂ€sk selleks on setfacl -m g:sales:rx /dir. Selles kĂ€sus -m nĂ€itab, et praeguseid ACL seadeid tuleb muuta. PĂ€rast seda g:sales:rx teavitab kĂ€sku, et tuleb seadistada lugemis- ja kĂ€ivitamisĂ”igus (rx) grupile (g) mĂŒĂŒk. Allpool nĂ€ete, kuidas grupp vĂ€lja nĂ€eb, samuti vĂ€ljaande getfacl vĂ€ljund pĂ€rast praeguste ACL seade muutmist.

[root@server1 /]# setfacl -m g:sales:rx /dir
[root@server1 /]# getfacl /dir
getfacl: eemaldatakse absoluutselt teelt algvad '/'
# fail: dir
# omanik: root
# grupp: root
user::rwx
group::r-x
group:sales:r-x
mask::r-x
other::r-x

NĂŒĂŒd, kui te mĂ”istate, kuidas seadistada grupi ACL-i, on lihtne mĂ”ista ACL-i kasutajate ja teiste kasutajate jaoks. NĂ€iteks kĂ€sk setfacl -m u:linda:rwx /data annab kasutajale linda Ă”igused kataloogis /data, seda omanikuks tegemata ja praeguseid omaniku mÀÀranguid muutuja muutmata.

Meeskond setfacl omab palju vĂ”imalusi ja valikuid. Üks valik on eriti oluline, nimelt parameeter -R. Kui see on kasutusel, muudab see valik ACL seadistamise kĂ”igile olemasolevatele failidele ja alamkataloogidele kataloogis, kus te ACL-i seadistate. Soovitatav on seda valikut alati kasutada olemasolevate kataloogide ACL loendite muutmisel.

Töötamine vaikimisi ACL-iga

Üks ACL loendite kasutamise eeliseid on see, et saate anda Ă”igusi mitmele kasutajale vĂ”i grupile kataloogis. Teine eelis on see, et saate vĂ”imaldada pĂ€rimist, töötades vaikimisi ACL-iga.

Vaikimisi ACL-i seadistamisel mÀÀrate Ôigused, mis kehtivad kÔikidele uutele elementidele, mis luuakse kataloogis. Pidage meeles, et vaikimisi ACL ei muuda olemasolevate failide ja alamakataloogide Ôigusi. Nende muutmiseks peate lisama ka tavapÀrase ACL-i!

Oluline on teada. Kui soovite kasutada ACL-i mitme kasutaja vĂ”i rĂŒhma juurdepÀÀsu seadistamiseks ĂŒhele ja samale kataloogile, peate ACL-i seadistama kaks korda. Esmalt kasutage setfacl -R -m, et muuta ACL-i praegustele failidele. SeejĂ€rel kasutage setfacl -m d:, et tagada kĂ”igi uute elementide kohta, mis ka loodud saavad.

Vaikimisi ACL-i seadmiseks peate lihtsalt lisama valiku d pĂ€rast valikut -m (jĂ€rjekord on oluline!). SeetĂ”ttu kasutage setfacl -m d:g:sales:rx /data, kui soovite, et mĂŒĂŒgigrupp saaks lugeda ja tĂ€ita kĂ”ike, mis kunagi luuakse kataloogis /data.

Vaikimisi ACL-i loendeid kasutades vĂ”ib olla ka kasulik seadistada ACL teiste jaoks. Üldiselt pole sellel erilist mĂ”tet, kuna saate ka teiste Ă”igusi muuta, kasutades chmod. Siiski, mida te ei saa teha, on chmod, see on mÀÀrata Ă”igused, mis tuleks anda teistele kasutajatele iga uue faili jaoks, mis kunagi loodakse. Kui soovite, et teised ei saaks mingeid Ă”igusi loomise osas, mis toimub /data, nĂ€iteks kasutage setfacl -m d:o::- /data.

ACL-id ja tavalised Ă”igused ei ole alati hĂ€sti integreeritud. Probleemid vĂ”ivad tekkida, kui olete rakendanud vaikimisi ACL-i kataloogile, kuhu seejĂ€rel on lisatud elemente, ja seejĂ€rel proovite muuta tavalisi Ă”igusi. Tavaliste Ă”iguste muutmine ei peegeldu ACL-i ĂŒlevaates hĂ€sti. Probleemide vĂ€ltimiseks seadke esmalt tavalised Ă”igused ja seejĂ€rel seadke vaikimisi ACL (ning proovige seda pĂ€rast seda mitte enam muuta).

NÀide laiendatud Ôiguste haldamisest ACL-i kasutades

Selles nĂ€ites jĂ€tkate töötamist kataloogidega /data/account ja /data/sales, mida te varem lĂ”ite. Eelmistes nĂ€idetes tagasite, et rĂŒhmal sales on Ă”igused /data/sales, ja rĂŒhmal account on Ă”igused /data/account.

Esiteks veenduge, et rĂŒhm account saab kausta /data/sales lugemisĂ”igused ja rĂŒhm sales saab kausta /data/account lugemisĂ”igused.

SeejÀrel seadistate vaikimisi ACL-nimekirjad, et veenduda, et kÔikide uute failide Ôigused on Ôigesti mÀÀratud.

  1. Avage terminal.
  2. Sooritage setfacl -m g:account:rx /data/sales ja setfacl -m g:sales:rx /data/account.
  3. Sooritage getfacl, et veenduda, et juurdepÀÀsuÔigused on seatud soovitud viisil.
  4. Sooritage setfacl -m d:g:account:rwx,g:sales:rx /data/sales, et seada vaikimisi ACL kaustale sales.
  5. Lisage vaikimisi ACL kausta /data/account, kasutades setfacl -m d:g:sales:rwx,g:account:rx /data/account.
  6. Veenduge, et ACL seadistused toimivad, lisades uue faili kausta /data/sales. KÀivitage touch /data/sales/newfile ja kÀivitage getfacl /data/sales/newfile praeguste Ôiguste kontrolimiseks.

Vaikimisi Ôiguste seadmine umaskiga

Ülaltoodud sisaldab ACL-ide kasutamise juhendamist. Kui te ACL-e ei kasuta, on olemas shelli seade, mis mÀÀrab vaikimisi Ă”igused, mida te saate: umask (tagasi mask). Selles jaotises saate teada, kuidas muuta vaikimisi Ă”igusi kasutades umask.

Olete ilmselt mÀrganud, et uue faili loomisel seadistatakse teatud vaikeÔigused. Need Ôigused mÀÀratakse seadistuse jÀrgi umask. See keskkonna parameeter kehtib kÔigile kasutajatele, kui nad sisselogivad. Parameetris umask kasutatakse numbrilist vÀÀrtust, mis lahutatakse maksimaalsetest Ôigustest, mida failile automaatselt seada saab; maksimaalne seadistus failide jaoks on 666 ja kataloogide jaoks 777.

Kuid sellele reeglile kehtivad mĂ”ned erandid. TĂ€ieliku ĂŒlevaate seadistustest umask leidub allolevas tabelis.

Numbrite korral, mis on kasutusel umask, nagu ka numbrilised argumendid kÀsule chmod, viitab esimene number kasutaja Ôigustele, teine number grupi Ôigustele ja viimane viitab muudele vaikimisi seatud Ôigustele. VÀÀrtus umask vaikimisi 022 annab 644 kÔikidele uutele failidele ja 755 kÔikidele uutele kataloogidele, mis teie serveris on loodud.

TĂ€ielik ĂŒlevaade kĂ”igist numbrilistest vÀÀrtustest umask ja nende tulemustest on allolevas tabelis.

Linuxi Ôigused (chown, chmod, SUID, GUID, sticky bit, ACL, umask)

Lihtne viis nÀha, kuidas umask parameeter töötab, on jÀrgmine: alustage vaikimisi faililuba 666 ja lahutage umask, et saada kehtivad Ôigused. Tehke sama ka katalooge ja nende vaikimisi Ôigusi 777.

Umask seadistuse muutmiseks on kaks viisi: kĂ”igi kasutajate jaoks ja eraldi kasutajate jaoks. Kui soovite umask'i seada kĂ”igile kasutajatele, peate veenduma, et umask parameeter arvestatakse shelli keskkonna failide kĂ€ivitamisel, nagu on mÀÀratud /etc/profile. Õige lĂ€henemine on luua shelli skript nimega umask.sh kaustas /etc/profile.d ja mÀÀrata umask, mida soovite selles skriptis kasutada. Kui seda faili muudetakse umask'i, rakendatakse seda kĂ”igile kasutajatele pĂ€rast serverisse sisselogimist.

Alternatiiviks umask'i seadistamisele lÀbi /etc/profile ja seotud failide, mis rakenduvad kÔigile sisselogitud kasutajatele, on umask'i seadete muutmine failis nimega .profile, mis luuakse igas kasutaja kodukataloogis.

Selles failis rakendatud seaded kehtivad ainult ĂŒksikule kasutajale; seega on see hea meetod, kui vajate rohkem detaili. Mulle isiklikult meeldib see funktsioon, et muuta juurkasutaja umask vaikevÀÀrtuseks 027, samas kui tavakasutajad töötavad vaikevÀÀrtusega 022.

Töötamine kasutaja laiendatud atribuutidega

See on viimane jaotis Ôigustest Linuxis.

Kuna töötate Ôigustega, on alati seos kasutaja vÔi grupi objekti ja nende objektide ÔigusÔigustega failile vÔi kataloogile. Alternatiivne meetod failide kaitsmiseks Linuxi serveris on töötamine atribuutidega.
Atribuudid töötavad sÔltumatult sellest, kes faili juurde pÀÀseb.

Nagu ACL-i puhul, vÔib failiattribuutide jaoks olla vajalik lubada seade mount.

See on valik user_xattr. Kui saate sĂ”numi „operation not supported” töötades kasutaja laiendatud atribuutidega, veenduge, et seade on seadistatud mount failis /etc/fstab.

Paljusid atribuute on dokumenteeritud. MĂ”ned atribuudid on saadaval, kuid pole veel rakendatud. Ärge kasutage neid; need ei too teile midagi kasu.

Allpool on kÔige kasulikumaid atribuute, mida saate rakendada:

A See atribuut tagab, et faili juurde pÀÀsemise aeg ei muutu.
Tavaliselt iga kord, kui fail avatakse, peab faili juurde pÀÀsemise aeg olema salvestatud faili metaandmetesse. See avaldab negatiivset mĂ”ju jĂ”udlusele; seetĂ”ttu, faili puhul, millele pÀÀseb regulaarselt juurde, on atribuut A seda funktsiooni vĂ€lja lĂŒlitada.

a See atribuut vÔimaldab faile lisada, kuid mitte eemaldada.

c Kui kasutate failisĂŒsteemi, mis toetab mahu taseme tihendamist, tagab see faili atribuut, et fail tihendatakse, kui tihendamismehhanism esmakordselt sisse lĂŒlitatakse.

D See atribuut tagab, et failides tehtud muudatused salvestatakse kettale kohe, mitte ei jÀÀ esmalt vahemikku. See on kasulik atribuut oluliste andmebaasifailide puhul, tagades, et need ei kao failide vahemÀlu ja kÔvaketta vahel.

d See atribuut tagab, et faili ei salvestata varukoopiatena, kus kasutatakse dump-teenust.

I See atribuut lubab indekseerimise kaustas, kuhu see on lisatud. See tagab kiirema juurdepÀÀsu failidele primitiivsetes failisĂŒsteemides, nagu Ext3, mis ei kasuta B-tree andmebaasi kiireks juurdepÀÀsuks failidele.

i See atribuut muudab faili muutumatuks. SeetÔttu ei saa faili muuta, mis on kasulik failide puhul, mis vajavad tÀiendavat kaitset.

j See atribuut tagab, et ext3 failisĂŒsteemis kirjutatakse fail esmalt ajaloosse ja seejĂ€rel - kĂ”vaketta andmeblokki.

s Kirjutage operatsioonisĂŒsteemisse 0 need blokid, kuhu fail oli salvestatud, pĂ€rast faili kustutamist. See tagab, et faili taastamine ei ole vĂ”imalik pĂ€rast selle kustutamist.

u See atribuut sÀilitab kustutamise teabe. See vÔimaldab vÀlja töötada utiliidi, mis töötleb seda teavet kustutatud failide taastamiseks.

Kui soovite atribuute rakendada, vĂ”ite kasutada kĂ€sku chattr. NĂ€iteks kasutage chattr +s somefile, et atribuudid rakendamiseks somefile. Kas soovite atribuudid eemaldada? Siis kasutage chattr -s somefile, ja see eemaldatakse. KĂ”ikide praegu rakendatud atribuutide ĂŒlevaate saamiseks kasutage kĂ€sku lsattr.

KokkuvÔte

Selles artiklis Ă”ppisite, kuidas hallata Ă”igusi. Lugesite kolmest pĂ”hioigusest, laiendatud Ă”igustest ja sellest, kuidas rakendada ACL-loendeid failisĂŒsteemis. Samuti Ă”ppisite, kuidas kasutada umask parameetrit vaikeĂ”iguste rakendamiseks. Artikli lĂ”pus Ă”ppisite, kuidas kasutada kasutaja laiendatud atribuute failisĂŒsteemi tĂ€iendava turvalisuse taseme rakendamiseks.

Kui teile see tÔlge meeldis, kirjuta palun sellest kommentaarides. See annaks rohkem motivatsiooni teha kasulikke tÔlkeid.

Artiklis parandasime mĂ”ned trĂŒkivead ja grammatilised vead. MĂ”ned mahukad lĂ”igud on jagatud vĂ€iksemateks mugavama lugemise jaoks.

Muudatus: «Ainult administreerimisĂ”igustega isik saab katalooge tĂ€itmise Ă”igust rakendada» on muudetud: «Ainult katalooge kirjutamisĂ”igustega isik saab tĂ€itmise Ă”igust rakendada» — see on tĂ€psem.

AitÀh mÀrkuste eest. berez.

Asendatud:
Kui te ei ole kasutaja omanik, kontrollib kest, kas olete grupi liige, mida nimetatakse ka faili grupiks.

Muudetud:
Kui te ei ole faili omanik, kontrollib kesta, kas olete grupi liige, kellel on sellele failile Ôigused. Kui olete selle grupi liige, antakse teile juurdepÀÀs failile gruppide jaoks kehtestatud Ôigustega ning kesta lÔpetab kontrollimise.

AitÀh mÀrkuse eest. CryptoPirate

Allikas: habr.com

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster