ACL
| Fiche express | |
|---|---|
| Domaine | Permissions avancées (ACL POSIX) |
| Commande | getfacl / setfacl
|
| Contexte | Linux, systèmes de fichiers avec support ACL (ext3/4, xfs, btrfs…) |
| Voir aussi | Chmod (permissions classiques) |
Les ACL (Access Control Lists) étendent les permissions classiques (propriétaire/groupe/autres) en permettant de définir des droits pour plusieurs utilisateurs et groupes distincts sur un même fichier ou répertoire.
Activer les ACL sur un système de fichiers
mount -o remount,acl /dev/sda3 /home # activation à chaud, sans redémarrer
Pour que l'option soit conservée au prochain montage, l'ajouter dans /etc/fstab :
/dev/sda3 /home ext4 defaults,acl 0 2
Sur les distributions récentes, l'option acl est souvent activée par défaut sur ext4 — vérifier avec tune2fs -l /dev/sda3 | grep "Default mount options" avant de la rajouter inutilement.
Consulter les ACL
getfacl /home/user # affiche toutes les entrées ACL du fichier/répertoire
Modifier les ACL
setfacl -m u:michael:rwx /home/examprep/TheAnswers # ajoute/modifie une entrée utilisateur
setfacl -x u:michael /home/examprep/TheAnswers # retire une entrée utilisateur
setfacl -m g:devteam:rwx /home/examprep/TheAnswers # ajoute/modifie une entrée groupe
setfacl -m o:rwx /home/examprep/TheAnswers # modifie les droits "others"
setfacl -m mask:r-- /home/examprep/TheAnswers # ajuste le masque (plafond effectif des droits)
setfacl -b /home/examprep/TheAnswers # retire toutes les ACL
setfacl -R -b /home/examprep # idem, récursivement
ACL par défaut sur un répertoire
Une ACL par défaut s'applique automatiquement aux fichiers et sous-répertoires créés ensuite dans le répertoire concerné :
setfacl -R -m u:myuser:rwx,d:g:mygroup:rwx /home/user # ACL "normale" + ACL par défaut en une commande
setfacl -R -m d:u:myuser:rwx,d:g:mygroup:rwx /home/user # ACL par défaut uniquement (préfixe d:)
Copier les ACL d'un fichier sur un autre
getfacl file1 | setfacl --set-file=- file2
ACL sur NFS
Les partages NFSv4 utilisent un modèle d'ACL différent (inspiré des ACE Windows, pas le format POSIX ci-dessus) :
nfs4_getfacl /chemin/nfs
Chaque entrée suit le format type:flags:principal:permissions.
Voir aussi
- Chmod — les ACL étendent les permissions classiques, voir cette page pour les bases (droits user/group/others, notation octale)