La commande chacl est utilisée pour modifier l'ACL d'un fichier. Les ACL peuvent être spécifiées à chacl sous deux formes distinctes :sous forme de liste d'entrées ou avec une syntaxe de type chmod. Par défaut, chacl ajoute des entrées à l'ACL actuelle. Il fournit également un peu plus d'informations sur le fonctionnement réel des ACL que la version abrégée de la commande setfacl.
Par exemple, pour ajouter l'utilisateur alex en tant que personne pouvant lire le fichier resume.xml, j'utiliserais une commande chacl (change ACL) comme celle-ci :
$ chacl u::rw-,g::r--,o::---,u:alex:r--,m::rw- resume.xml
L'utilisation de la commande getfacl pour récupérer l'ACL de mon CV montre que l'utilisateur alex a bien été ajouté à la liste des personnes ayant accès au fichier :
$ getfacl resume.xml # file: resume.xml # owner: wvh # group: wvh user::rwx group::r-- other::--- user:alex:r-- mask::rw-Remarque :Bien que le contenu soit le même, le format de la sortie de la commande getfacl dépend de la version de la suite ACL utilisée sur votre système Linux.
Exemples de commandes chacl
1. Pour modifier l'ACL d'un fichier :
# chacl u::r-x,g::r-x,o::r-- file
2. Pour définir l'acl par défaut d'un répertoire :
# chacl -d u::rwx,g::r-x,o::r-- /anydir/
3. Pour supprimer l'ACL :
# chacl -R file
4. Pour supprimer l'ACL par défaut du répertoire :
# chacl -D /anydir/
5. Pour supprimer toutes les ACL :
# chacl -B file
6. Pour lister l'ACL d'un fichier/répertoire :
# chacl -l file
7. Pour définir l'ACL d'accès de manière récursive :
# chacl -r u::r-x,g::r-x,o::r-- /tmp/