ot N. Antonov(11-07-2004)

reiting (22)   [ dobre ]  [ zle ]

Printer Friendly Variant za otpechatvane

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 >>