[ 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
pristupova-prava-pomoci-acl [2014/03/18 08:26]
zeman Úprava.
pristupova-prava-pomoci-acl [2017/09/30 20:20] (current)
rosa [Give all permissions to all ufal/ufal_ext users]
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&​nbsp;​kostce:​ V&​nbsp;​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,​g:​ufal_ext:​rwx FILE</​code>​
  

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