[ Skip to the content ]

Institute of Formal and Applied Linguistics Wiki


[ Back to the navigation ]

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
pristupova-prava-pomoci-acl [2014/03/18 08:26]
zeman Úprava.
pristupova-prava-pomoci-acl [2017/09/30 20:10]
rosa [Jak odebrat rekurzivně právo zápisu pro kohokoli?] a+rwx
Line 3: Line 3:
 ACL (access control list) je způsob, jak rozšířit přístupová práva. Pro každý soubor/adresář můžeme mít kromě těch klasických tří "skupin" (u, g, o) i seznam dalších uživatelů/skupin s jejich přístupovými právy. Důležité příkazy jsou ''setfacl'' a ''getfacl''. Pěkný tutoriál je tady: ACL (access control list) je způsob, jak rozšířit přístupová práva. Pro každý soubor/adresář můžeme mít kromě těch klasických tří "skupin" (u, g, o) i seznam dalších uživatelů/skupin s jejich přístupovými právy. Důležité příkazy jsou ''setfacl'' a ''getfacl''. Pěkný tutoriál je tady:
  
-http://www.vanemery.com/Linux/ACL/linux-acl.html+https://wiki.archlinux.org/index.php/Access_Control_Lists
  
 V kostce: V kostce:
Line 19: Line 19:
  
 <code bash>$ ls -l nejaky-soubor <code bash>$ ls -l nejaky-soubor
--rw-r-----+ 1 janicek ufal_ext 0 2008-06-26 22:14 nejaky-soubor</bash>+-rw-r-----+ 1 janicek ufal_ext 0 2008-06-26 22:14 nejaky-soubor</code>
  
 Pro lepší výpis práv musíme použít ''getfacl'': Pro lepší výpis práv musíme použít ''getfacl'':
Line 35: Line 35:
 Čtvrtý řádek ("mask") říká, jaká nejlepší práva může kdokoliv v ACL (čili vyjma tradičních u, g, o) dostat, a ls -l pak ve výpisu uvádí právě tenhle údaj místo práv pro skupinu. Čtvrtý řádek ("mask") říká, jaká nejlepší práva může kdokoliv v ACL (čili vyjma tradičních u, g, o) dostat, a ls -l pak ve výpisu uvádí právě tenhle údaj místo práv pro skupinu.
  
-Čili kdybych chtěl povolit skupině ufal_ext přístup r-x k adresáři "en" v /export/data/conll/2007, tak by mělo stačit dát+Čili kdybych chtěl povolit skupině ufal_ext přístup r-x k adresáři "en" v /net/data/conll/2007, tak by mělo stačit dát
  
-<code bash>$ setfacl -m g:ufal_ext:rx /export/data/conll/2007/en</code>+<code bash>$ setfacl -m g:ufal_ext:rx /net/data/conll/2007/en</code>
  
 a případně totéž vevnitř, jestli je to tam podobné. a případně totéž vevnitř, jestli je to tam podobné.
Line 44: Line 44:
  
 <code bash>find -type d -exec chmod o+rx {} \;</code> <code bash>find -type d -exec chmod o+rx {} \;</code>
 +
 +Pokud bych chtěl přidat právo "x" na adresáře a právo "r" na adresáře i soubory skupině ufal_ext pomocí ACL:
 +
 +<code bash>find -type d -exec setfacl -m g:ufal_ext:rx {} \;
 +setfacl -R g:ufal_ext:r *</code>
 +
 +===== Jak odebrat rekurzivně právo zápisu pro kohokoli? =====
 +
 +Revoking write access from all groups and all named users (using the effective rights mask):
 +
 +<code bash>setfacl -R -m m::rx .</code>
 +
 +===== Give all permissions to all ufal/ufal_ext users =====
 +
 +This is the preferred way of giving all rights to "everyone". It is more secure than simple "chmod a+rwx", which also includes e.g. the "www-data" group (i.e. access from the web).
 +
 +<code bash>setfacl -m g:ufal:rwx FILE
 +setfacl -m g:ufal_ext:rwx FILE</code>
  

[ Back to the navigation ] [ Back to the content ]