GeeksforGeeks

Qu’est-ce que l’ACL ?
La liste de contrôle d’accès (ACL) fournit un mécanisme de permission supplémentaire et plus flexible pour les systèmes de fichiers. Elle est conçue pour aider les autorisations de fichiers UNIX. ACL vous permet de donner des permissions pour n’importe quel utilisateur ou groupe à n’importe quelle ressource de disque.

Utilisation de ACL :
Pensez à un scénario dans lequel un utilisateur particulier n’est pas membre du groupe créé par vous mais vous voulez quand même donner un certain accès en lecture ou en écriture, comment pouvez-vous le faire sans faire de l’utilisateur un membre du groupe, voici venir en image les listes de contrôle d’accès, ACL nous aide à faire ce tour.

Basiquement, les ACL sont utilisées pour faire un mécanisme de permission flexible dans Linux.

D’après les pages de manuel de Linux, les ACL sont utilisées pour définir des droits d’accès discrétionnaires plus fins pour les fichiers et les répertoires.

setfacl et getfacl sont utilisés pour configurer les ACL et montrer les ACL respectivement.

Par exemple :

getfacl test/declarations.h

Sortie:

# file: test/declarations.h# owner: mandeep# group: mandeepuser::rw-group::rw-other::r--

Liste des commandes pour configurer l’ACL :

1) To add permission for usersetfacl -m "u:user:permissions" /path/to/file2) To add permissions for a groupsetfacl -m "g:group:permissions" /path/to/file 3) To allow all files or directories to inherit ACL entries from the directory it is withinsetfacl -dm "entry" /path/to/dir4) To remove a specific entrysetfacl -x "entry" /path/to/file5) To remove all entriessetfacl -b path/to/file

Par exemple :

setfacl -m u:mandeep:rwx test/declarations.h

Modification de l’ACL à l’aide de setfacl :
Pour ajouter des autorisations pour un utilisateur (l’utilisateur est soit le nom d’utilisateur, soit l’ID) :

# setfacl -m "u:user:permissions" 

Pour ajouter des permissions pour un groupe (le groupe est soit le nom du groupe ou l’ID) :

# setfacl -m "g:group:permissions" 

Pour permettre à tous les fichiers ou répertoires d’hériter des entrées ACL du répertoire dans lequel il se trouve :

# setfacl -dm "entry" 

Exemple :

setfacl -m u:mandeep:r-x test/declarations.h

Voir l’image ci-dessous pour le résultat :

setfacl et getfacl

Voir ACL :
Pour montrer les permissions :

# getfacl filename

Observez la différence entre la sortie de la commande getfacl avant et après avoir configuré les permissions ACL en utilisant la commande setfacl.
Il y a une ligne supplémentaire ajoutée pour l’utilisateur mandeep qui est mise en évidence dans l’image ci-dessus.

Sortie :

changer les permissions

La commande ci-dessus change les permissions de rwx à r-x

Supprimer l’ACL :
Si vous voulez supprimer les permissions ACL définies, utilisez la commande setfacl avec l’option -b.
Par exemple :

remove set permissions

Si vous comparez la sortie de la commande getfacl avant et après avoir utilisé la commande setfacl avec l’option -b, vous pouvez observer qu’il n’y a pas d’entrée particulière pour l’utilisateur mandeep dans la sortie ultérieure.

Vous pouvez également vérifier s’il y a des permissions supplémentaires définies par l’ACL en utilisant la commande ls.

vérifier set acl avec ls

Observez la première sortie de commande dans l’image, il y a un signe « + » supplémentaire après les permissions comme -rw-rwxr-+, cela indique qu’il y a des permissions supplémentaires ACL définies que vous pouvez vérifier par la commande getfacl.

Utilisation de l’ACL par défaut :
L’ACL par défaut est un type de permission spécifique attribué à un répertoire, qui ne change pas les permissions du répertoire lui-même, mais fait en sorte que les ACL spécifiées soient définies par défaut sur tous les fichiers créés à l’intérieur de celui-ci. Faisons une démonstration : nous allons d’abord créer un répertoire et lui attribuer une ACL par défaut en utilisant l’option -d :

$ mkdir test && setfacl -d -m u:dummy:rw test
Tags d’articles :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.