Une liste de contrôle d'accès (ACL) est une liste d'autorisations attachées à un objet. Les ACL peuvent être utilisées dans des situations où le concept traditionnel d'autorisation de fichier ne suffit pas. Les ACL vous permettent d'attribuer des autorisations à des utilisateurs ou à des groupes individuels, même s'ils ne correspondent pas au propriétaire ou au groupe de l'objet.
Par exemple, les membres de deux groupes de services peuvent avoir besoin de différents niveaux d'accès à la même ressource. Le groupe 1 peut avoir besoin de r/w/x pour accéder à un répertoire, tandis que le groupe 2 n'a besoin que d'un accès r/x. En utilisant les ACL, vous pouvez accorder différents niveaux d'accès à différents utilisateurs, groupes et même processus. Les listes de contrôle d'accès permettent un niveau de contrôle plus précis.
La commande getfacl est utilisée pour récupérer les ACL des fichiers et des répertoires. Le format de sortie de base de la commande getfacl affiche des métadonnées sur l'objet, y compris son propriétaire, son groupe, tout indicateur SUID/SGID/sticky bit défini, les autorisations standard associées à l'objet et les entrées d'autorisation individuelles pour les utilisateurs et les groupes.
Si vous voulez voir quelles sont les ACL associées au fichier, nous pouvons utiliser la commande getfacl. La syntaxe est assez simple :
# getfacl filename
Ce qui donne la sortie comme :
# file: filename # owner: geek # group: geek user::rw- user:andy:r-- user:bob:r-- user:james:rwx group::r-- mask::rwx other::r--
Si vous rencontrez l'erreur ci-dessous lors de l'exécution de la commande getfacl :
getfacl: command not found
vous pouvez essayer d'installer le package ci-dessous selon votre choix de distribution :
Répartition | Commande |
---|---|
Debian | apt-get install acl |
Ubuntu | apt-get install acl |
Alpin | apk ajouter acl |
Arch Linux | pacman -S acl |
Kali Linux | apt-get install acl |
CentOS | yum install acl |
Fédora | dnf install acl |
Raspbian | apt-get install acl |
Exemples de commande getfacl
1. Pour obtenir les ACL d'un fichier :
# getfacl /tmp/file.txt
2. Pour afficher la liste de contrôle d'accès aux fichiers :
# getfacl -a /tmp/file.txt # getfacl --access /tmp/file.txt
3. Pour afficher la liste de contrôle d'accès par défaut :
# getfacl -d /tmp/file.txt # getfacl --default /tmp/file.txt
4. Pour éviter d'afficher l'en-tête du commentaire :
# getfacl -c /tmp/file.txt # getfacl --omit-header /tmp/file.txt
5. Pour imprimer tous les commentaires sur les droits effectifs :
# getfacl -e /tmp/file.txt # getfacl --all-effective /tmp/file.txt
6. Pour éviter d'imprimer les droits effectifs :
# getfacl -E /tmp/file.txt # getfacl --no-effective /tmp/file.txt
7. Pour ignorer les fichiers qui n'ont que les entrées ACL de base :
# getfacl -s /tmp/file.txt # getfacl --skip-base /tmp/file.txt
8. Pour répertorier les ACL de manière récursive :
# getfacl -R /tmp # getfacl --recursive /tmp
9. Pour suivre les liens symboliques :
# getfacl -L /tmp/file.txt # getfacl --logical /tmp/file.txt
10. Pour éviter de suivre les liens symboliques :
# getfacl -P /tmp/file.txt # getfacl --physical /tmp/file.txt
11. Pour obtenir le format de sortie tabulaire :
# getfacl -t /tmp/file.txt # getfacl --tabular /tmp/file.txt
12. Ne supprimez pas les caractères de barre oblique :
# getfacl -p /tmp/file.txt # getfacl --absolute-names /tmp/file.txt
13. Pour répertorier les ID utilisateur et groupe numériques :
# getfacl -n /tmp/file.txt # getfacl --numeric /tmp/file.txt
14. Pour obtenir la version de getfacl :
# getfacl -v # getfacl -version
15. Pour obtenir de l'aide pour getfacl :
# getfacl -h # getfacl --help