This is an old revision of the document!
Přístupová práva k souborům pomocí ACL
Míra Janíček píše:
ACL (access control list) je zpusob, jak rozsirit pristupova prava -- pro kazdy soubor/adresar muzes mit krome tech klasickych tri "skupin" (u, g, o) i seznam dalsich uzivatelu/skupin s jejich pristupovymi pravy. Dulezite prikazy jsou setfacl a getfacl. Pekny tutorial (z neho jsem se to naucil) je tady:
http://www.vanemery.com/Linux/ACL/linux-acl.html
ale shrnu to v kostce, nic na tom neni. ;) Modelova situace: mam soubor "nejaky-soubor" s pravy 600 (vlastnik=ja muze rw, ostatni nic): $ ls -l nejaky-soubor -rw------- 1 janicek ufal_ext 0 2008-06-26 22:14 nejaky-soubor Ted chci povolit treba tobe cteni toho souboru, to udelam pomoci setfacl: $ setfacl -m u:zeman:r nejaky-soubor Prepinac "-m" znamena "modify", v tomhle pripade pridani dalsi polozky, je to uzivatel (to je to "u:") zeman, a jeho prava. Vsimni si, ze kdyz pak pustis na ten soubor ls -l, tak tesne za temi deviti policky, pred poctem linku, sedi "+" -- tim ti dava ls na vedomi, ze ten soubor ma nejaky ACL a ze to je tedy s pravy komplikovanejsi. $ ls -l nejaky-soubor -rw-r-----+ 1 janicek ufal_ext 0 2008-06-26 22:14 nejaky-soubor Pro lepsi vypis musime pouzit getfacl: $ getfacl nejaky-soubor # file: nejaky-soubor # owner: janicek # group: ufal_ext user::rw- user:zeman:r-- group::--- mask::r-- other::--- Ctvrty radek ("mask") rika, jaka nejlepsi prava muze kdokoliv v ACL (cili vyjma tradicnich u, g, o) dostat, a ls -l pak ve vypisu uvadi prave tenhle udaj misto prav pro skupinu souboru. Cili kdybych chtel povolit skupine ufal_ext pristup r-x k adresari "en" v /export/data/conll/2007, tak by melo stacit dat $ setfacl -m g:ufal_ext:rx /export/data/conll/2007/en a pripadne totez vevnitr, jestli je to tam podobne.
Jak přidat rekurzivně právo "x" adresářům, ale ne souborům?
find -type d -exec chmod o+rx {} \;