LINUX-BG   Adres : http://www.linux-bg.org
Primer za upotreba na Access Control Lists s Linuks
Ot: N. Antonov
Publikuvana na: 11-07-2004
Adres na statiiata: http://www.linux-bg.org/cgi-bin/y/index.pl?page=article&id=advices&key=363161286

Tazi statiia e chast ot Kniga za Debian GNU/Linux na bulgarski

Ot izvestno vreme nasam vsichki razprostraneni failovi sistemi v Linuks poddurzhat razshirenite svoistva za kontrol nad pravata, izvestni kato ACLs (Access Control Lists) ili "Spisutsi za kontrol na dostupa". Vuprosnite razshireniia sa bazirani na standarta POSIX 1003.1e. Neobiasnimo e zashto populiarnostta na tozi metod za upravlenie na potrebitelskite prava e tolkova nisko razprostranena, sled kato izpolzvaneto na ACLs e ednovremenno efektivno i lesno.

Nakratko shte obiasnim kakuv e tehniiat smisul. Kakto vseki ot vas znae, t. nar. Unix permissions ili prosto standartnite prava v edna Unix/Linux-sistema sa organizirani suvsem prosto: te se definirat po sobstvenik, grupa i ostanali potrebiteli. V goliama chast ot sluchaite tazi organizatsiia e dostatuchna. Kogato imame uslozhneni nuzhdi obache, tia se okazva neudobna. Predstavete si, che imate direktoriia, koiato mozhe da se chete samo ot sobstvenika i na koiato sme dali chmod 700. Iskate da razreshite na drug da vliza v neia. Togava pravite nova grupa, v koiato vklyuchvate dvamata potrebiteli i promeniate pravata na direktoriiata taka, che osven ot sobstvenika da mozhe da se chete i ot grupata, koeto stava s komandata chmod 750. CHudesno. A ako iskate da napravite sushtoto i s drugi direktorii i drugi potrebiteli? Triabva da suzdavate novi grupi i taka dokato stignete do moment, v koito veche prosto izpuskate nishkata.

Eto tuk na pomosht idvat "Spisutsite za kontrol na dostupa". S tiah mozhem lesno da delegirame raznoobrazni prava na vseki vurhu vsichko, bez da pipame nito potrebitelite, nito grupite, nito da promeniame standartnite Unix permissions na direktoriiata/faila, t.e. bez da si igraem s komandi kato chmod ili chown. Vazhno e da otbelezhim, che izpolzvaneto na ACLs ne prechi s nishto na prilaganeto na standartnite komandi za upravlenie na Unix-pravata. Dvata metoda suzhitelstvat suvsem mirno.

Paketut acl

Kato za nachalo triabva izpulnim komandata:

 apt-get install acl
 

Tozi paket sudurzha dvata osnovni instrumenta za upravlenie na ACLs, koito shte se prevurnat v nashata diasna ruka.

Optsiiata acl v /etc/fstab

Sledva da redaktirame faila /etc/fstab, za da kazhem na iadroto da vklyuchi poddruzhkata na ACLs za suotvetnite diskovi dialove. Tova stava lesno, s dobaviane na optsiia acl i premontirane na suotvetniia dial. Tuk e miastoto da otbelezhim, che Linuks poddurzha acl za Ext2/Ext3 edva v poslednite versii na iadrata ot seriiata 2.4 i v 2.6. Ako polzvate failovata sistema XFS, ne e neobhodimo da pipate nishto v fstab, zashtoto tazi failova sistema idva po podrazbirane s vgradena poddruzhka na ACLs. Ako iskate poddruzhka na ACLs v Linuks, preporuchitelno e da se sprete na XFS ili Ext2/Ext3 sus suotvetnata versiia na iadroto, koiato poddurzha optsiiata acl (tia e nuzhna samo za Ext2/Ext3).

Primer za fstab pri Ext2/Ext3.

 /dev/hda2	/home	ext3	rw,usrquota,nosuid,nodev,noatime,acl	0	0
 

Komandite getfacl i setfacl

S komandata getfacl izvlichame informatsiia za acl-statusa na dadeniia fail ili direktoriia.

 
 # getfacl shots/
 # file: shots
 # owner: nikola
 # group: nikola
 user::rwx
 group::r-x
 other::r-x
 

Taka izglezhdat pravata na vsiaka direktoriia po podrazbirane. V momenta tazi direktoriia e sobstvenost na nikola, no vseki mozhe da vliza i da chete v neia.

 chmod 700 shots/
 ls -l shots
 drwx------    5 nikola   nikola        111 2004-06-13 09:57 shots/
 

Sega veche nikoi drug ne mozhe da vliza v tazi direktoriia osven neiniia sobstvenik. Tova e chudesno, no da rechem, che iskame da publikuvame direktoriiata v ueb. Togava triabva da razreshim na uebsurvura da ia chete. Tova shte stane s komandata setfacl. V Debian potrebiteliat na uebsurvura e www-data.

 setfacl -m u:www-data:r-x shots/
 getfacl shots/
 # file: shots
 # owner: nikola
 # group: nikola
 user::rwx
 user:www-data:r-x
 group::---
 group::---
 mask::r-x
 other::---
 
 

V tozi sluchai nie razreshihme na potrebitelia (flagut za potrebitel e u, a za grupa - g) www-data da chete i da izpulniava (flagovete r i x sa poznati ot komandata chmod) v tazi direktoriia.

Tuk reshihme edna prosta i banalna zadacha, s koeto iskahme da obiasnim prostichko i nakratko kakuv e smisulut ot izpolzvaneto na ACLs. Vsichki optsii i vuzmozhnosti na komandata setfacl sa opisani podrobno v suotvetnata man-stranitsa.

Za lyuboznatelnite mozhe da bude ot polza tozi material. Informatsiiata v nego e prednaznachena konkretno za Fedora, no vsushtnost e validna za vsiaka Linuks-distributsiia.

Proektut Kniga za Debian GNU/Linux na bulgarski e otvoren za avtori, gotovi da spodeliat opita si ot rabotata s nai-goliamata Linuks-distributsiia. Vsichki zhelaeshti mogat da se oburnat napravo kum poshtenskiia spisuk na proekta, kato predlagat materiali ili budat vklyucheni kato avtori (s prava za commit v CVS-hranilishteto).

<< Instalirane i konfigurirane na VPN na Fedora Core 2 | VPN na bazata na OpenSwan, OpenSSL, L2TPD >>

Avtorite na saita, kakto i tehnite sutrudnitsi zapazvat avtorskite prava vurhu sobstvenite si materiali publikuvani tuk, no te sa copyleft t.e. mogat svobodno da budat kopirani i razprostraniavani s iziskvaneto izrichno da se upomenava imeto na avtora, kakto i da se publikuva na vidno miasto, che te sa vzeti ot originalniia im URL-adres na tozi survur (http://www.linux-bg.org). Avtorskite prava na prevodnite materiali prinadlezhat na tehnite avtori. Ako s publikuvaneto tuk na niakakuv material nevolno sa narusheni nechii prava - sled konstatiraneto na tozi fakt materialut shte bude svalen.

All trademarks, logos and copyrights mentioned on this site are the property of their respective owners.
Linux is copyright by Linus Torvalds.
© Linuks za bulgari EOOD 2007
© Slavei Karadjov 1999 - 2006

All rights reserved.

Изпълнението отне: 0 wallclock secs ( 0.18 usr + 0.02 sys = 0.20 CPU)