Permessi: differenze tra le versioni

Da UZ wiki.
Riga 1: Riga 1:
I file nella propria home e nella nobackup sono gestiti tramite [http://en.wikipedia.org/wiki/Andrew_File_System AFS]. Di conseguenza i permessi sono gestiti tramite le ACL (Access Control List) di AFS e '''non''' tramite i classici permessi UNIX. Le ACL assegnano a ogni cartella una lista di permessi (che sono ereditati da ogni sottocartella e da ogni file contenuto nella cartella). In particolare non è possibile impostare le ACL per ogni singolo file.
+
== ACL di AFS ==
 +
 
 +
I file nella propria home e nella nobackup sono gestiti tramite [http://en.wikipedia.org/wiki/Andrew_File_System AFS]. Di conseguenza i permessi sono gestiti tramite le ACL (Access Control List) di AFS e '''non''' tramite i classici permessi UNIX (anche se come vedremo anche loro continuano ad avere un ruolo). Le ACL assegnano a ogni cartella una lista di permessi (che sono ereditati da ogni sottocartella e da ogni file contenuto nella cartella). In particolare non è possibile impostare le ACL per ogni singolo file.
  
 
Per vedere le ACL di una cartella si usa il comando <code>fs la</code> ('''l'''ist '''a'''cl)
 
Per vedere le ACL di una cartella si usa il comando <code>fs la</code> ('''l'''ist '''a'''cl)
Riga 17: Riga 19:
 
* <code>w</code> Il permesso di '''write'''. Questo permette di modificare i file nella cartella e di cambiarne i permessi UNIX (ad esempio per renderli eseguibili).
 
* <code>w</code> Il permesso di '''write'''. Questo permette di modificare i file nella cartella e di cambiarne i permessi UNIX (ad esempio per renderli eseguibili).
 
* <code>k</code> Il permesso di '''lock'''. Questo permette all'utente di bloccare un file. Tendenzialmente non vi interesserà a meno che non stiate programmando applicazioni che fanno uso di thread, e in tal caso non avete bisogno di spiegazioni.
 
* <code>k</code> Il permesso di '''lock'''. Questo permette all'utente di bloccare un file. Tendenzialmente non vi interesserà a meno che non stiate programmando applicazioni che fanno uso di thread, e in tal caso non avete bisogno di spiegazioni.
 +
 +
Per modificare le ACL si usa il comando <code>fs sa</code> ('''s'''et '''a'''cl). La sintassi è la seguente
 +
<pre>
 +
fs sa -dir CARTELLA -acl LISTAPERMESSI
 +
</pre>
 +
dove <code>CARTELLA</code> è la cartella di cui volete impostare i permessi e <code>LISTAPERMESSI</code> è una lista della forma <code>NOMEGRUPPO PERMESSI</code>. Ad esempio
 +
<pre>
 +
byum@heroin: ~$ fs sa -dir . -acl classediscienze rl user none
 +
</pre>
 +
imposta le ACL della cartella corrente al permesso di lettura e lookup per gli utenti del gruppo <code>classediscienze</code> e nessun permesso agli utenti normali (<code>none</code> è una stringa convenzionale per indicare nessun permesso). Questi permessi vanno ad aggiungersi a quelli già esistenti per la cartella. Se si vuole esplicitamente cancellare tutti i permessi preesistenti bisogna usare l'opzione <code>-clear</code> come nel seguente esempio:
 +
<pre>
 +
byum@heroin: ~$ fs sa -clear -dir . -acl classediscienze rl user none
 +
</pre>
 +
 +
== I permessi standard UNIX ==
 +
Come già detto i permessi standard UNIX hanno un ruolo in subordine rispetto

Versione delle 22:57, 4 ott 2011

ACL di AFS

I file nella propria home e nella nobackup sono gestiti tramite AFS. Di conseguenza i permessi sono gestiti tramite le ACL (Access Control List) di AFS e non tramite i classici permessi UNIX (anche se come vedremo anche loro continuano ad avere un ruolo). Le ACL assegnano a ogni cartella una lista di permessi (che sono ereditati da ogni sottocartella e da ogni file contenuto nella cartella). In particolare non è possibile impostare le ACL per ogni singolo file.

Per vedere le ACL di una cartella si usa il comando fs la (list acl)

byum@heroin:~$ fs la
Access list for /afs/uz.sns.it/user/byum is
Normal rights:
  system:administrators rlidwka
  byum rlidwka

Come si vede a ogni gruppo di utenti è associata una lista di permessi. Questi sono

  • l Il permesso di lookup. Questo è il permesso fondamentale. Essenzialmente autorizza l'utente a porre domande sulla cartella. Ci sono pochissime cose però che si possono fare solo col permesso di lookup. Ad esempio è possibile ottenere la lista dei file all'interno della cartella con il comando ls ma non le loro proprietà con il comando ls -l (che necessita anche del permesso di lettura).
  • i Il permesso di insert. Questo autorizza l'utente a creare nuovi file o sottocartelle nella cartella, sia creandoli ex novo che spostandoli. Non permette però di creare file in una sottocartella se le ACL corrispondenti lo vietano.
  • d Il permesso di delete. Questo autorizza l'utente a eliminare file o sottocartelle sia rimuovendoli dal filesystem (ad esempio tramite il comando rm) sia spostandoli in altre cartelle (però è necessario che l'utente abbia il permesso di insert per la cartella di destinazione).
  • a Il permesso di administer. Questo autorizza l'utente a cambiare le ACL della cartella. Tutti gli utenti del gruppo system:administrator hanno questo permesso implicitamente (cioè anche se non è presente nelle ACL della cartella).
  • r Il permesso di read. Questo autorizza l'utente a leggere i file presenti nella cartella e a ottenerne le proprietà tramite il comando ls -l.
  • w Il permesso di write. Questo permette di modificare i file nella cartella e di cambiarne i permessi UNIX (ad esempio per renderli eseguibili).
  • k Il permesso di lock. Questo permette all'utente di bloccare un file. Tendenzialmente non vi interesserà a meno che non stiate programmando applicazioni che fanno uso di thread, e in tal caso non avete bisogno di spiegazioni.

Per modificare le ACL si usa il comando fs sa (set acl). La sintassi è la seguente

fs sa -dir CARTELLA -acl LISTAPERMESSI

dove CARTELLA è la cartella di cui volete impostare i permessi e LISTAPERMESSI è una lista della forma NOMEGRUPPO PERMESSI. Ad esempio

byum@heroin: ~$ fs sa -dir . -acl classediscienze rl user none

imposta le ACL della cartella corrente al permesso di lettura e lookup per gli utenti del gruppo classediscienze e nessun permesso agli utenti normali (none è una stringa convenzionale per indicare nessun permesso). Questi permessi vanno ad aggiungersi a quelli già esistenti per la cartella. Se si vuole esplicitamente cancellare tutti i permessi preesistenti bisogna usare l'opzione -clear come nel seguente esempio:

byum@heroin: ~$ fs sa -clear -dir . -acl classediscienze rl user none

I permessi standard UNIX

Come già detto i permessi standard UNIX hanno un ruolo in subordine rispetto