Permessi
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 comandols
ma non le loro proprietà con il comandols -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 comandorm
) 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 grupposystem: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 comandols -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