Access Control List - ACL
Gestione evoluta dei permessi. In origine non disponibile nei sistemi Unix, con GNU/Linux diventa opzione di montaggio abilitata per default con il filesystem ext4 a partire dal kernel 2.6.39. Per forzare l'utizzo delle ACL utilizzare l'opzione di montaggio acl:
mount -o acl /dev/sdc1 /mnt
Per manipolare le ACL da riga di comando, installare il pacchetto Debian acl che contiene i tool getfacl e setfacl.
La presenza di una ACL viene evidenziata dal segno + quando si esegue ls -l
:
ls -l filename -rw-r-----+ 1 root root 24 Apr 11 17:08 filename
Per visualizzare il contenuto dell'ACL:
getfacl filename # file: filename # owner: root # group: root user::rw- user:niccolo:r-- group::r-- mask::r-- other::---
Per aggiunge una voce di ACL ad un file:
setfacl -m u:niccolo:r filename
Per rimuovere una voce di ACL da un file:
setfacl -x user:niccolo filename
Fare attenzione che le ACL prevalgono sui permessi standard Unix, quindi i permessi che si vedono con un semplice ls -l
potrebbero trarre in inganno se le ACL impongono qualcosa di diverso, bisogna sempre verificare con getfacl
.
Default ACL su directory
Per impostare le ACL sugli oggetti creati in una directory basta impostare le opportune ACL default:{user|group|other|mask}
sulla directory stessa (solo le directory hanno le ACL default
):
setfacl -m default:other::r-x filename
Per rimuovere tutte le ACL a un file o una directory:
setfacl --remove-all filename