abonnel-siteweb/data/pages/informatique/linux/commandes/getfacl.txt

117 lines
5.6 KiB
Plaintext
Raw Permalink Normal View History

2024-01-07 10:02:35 +01:00
====== getfacl ======
{{ :dummy.png?75x75|getfacl}}
Programme Linux qui retourne les informations ACL (Contrôle d'Accès aux fichiers).
Il peut s'utiliser de la manière la plus simple :
<code>
$ getfacl ~
</code>
===== - Installer getfacl =====
<code>
$ sudo apt install acl
</code>
====== - Exemples de retour ======
---
Dans un dossier **non** modifié par ''setfacl -d'', nous avons les propriétés suivantes :
<code>
$ getfacl /mnt/disk_23
getfacl : suppression du premier « / » des noms de chemins absolus
# file: mnt/disk_23
# owner: 99
# group: 99
user::rwx
group::rwx
other::rwx
</code>
Le résultat obtenu avec la commande ''getfacl'' affiche les informations de contrôle d'accès (ACL) pour le fichier ou le répertoire spécifié. Voici la signification des différentes lignes du résultat :
* ''# file: mnt/disk_23'': Cette ligne indique le chemin d'accès au fichier ou répertoire dont les ACL sont affichées, dans ce cas précis, le fichier se trouve à ''mnt/disk_23''.
* ''# owner: 99'': Cette ligne indique l'identifiant du propriétaire du fichier ou du répertoire. Dans cet exemple, le propriétaire a l'ID 99.
* ''# group: 99'': Cette ligne indique l'identifiant du groupe propriétaire du fichier ou du répertoire. Dans cet exemple, le groupe propriétaire a l'ID 99.
Ensuite, les lignes suivantes décrivent les droits d'accès pour différentes entités :
* ''user::rwx'': Cela signifie que l'utilisateur (propriétaire) a les droits de lecture (r), d'écriture (w) et d'exécution (x) sur ce fichier ou répertoire.
* ''group::rwx'': Cela indique que les membres du groupe propriétaire ont les mêmes droits que l'utilisateur (propriétaire) précédemment mentionné, c'est-à-dire lecture, écriture et exécution.
* ''other::rwx'': Cela spécifie les droits d'accès pour tous les autres utilisateurs qui ne sont ni le propriétaire ni membres du groupe propriétaire. Dans ce cas, les autres utilisateurs ont également les droits de lecture, écriture et exécution.
Ainsi, le fichier ou le répertoire ''mnt/disk_23'' a les ACL configurées de manière à permettre au propriétaire, au groupe propriétaire et à tous les autres utilisateurs d'avoir des droits complets de lecture, écriture et exécution sur ce fichier ou répertoire.
---
Dans un dossier modifié par ''chmod'', nous avons les propriétés suivantes :
<code>
$ sudo chmod o-s,g+s,u+s /media/disk_23
$ sudo setfacl /media/disk_23
getfacl : suppression du premier « / » des noms de chemins absolus
# file: media/disk_23
# owner: 99
# group: 99
# flags: ss-
user::rwx
group::rwx
other::rwx
</code>
Si le résultat affiche la ligne ''# flags: ss-'' après les droits d'accès, cela indique la présence de certains indicateurs de contrôle d'accès spéciaux. Voici la signification de ces indicateurs :
* ''s'': L'indicateur "s" fait référence à l'ensemble de bits "setuid" ou "setgid". Lorsque l'indicateur "s" est présent pour l'utilisateur (propriétaire) ou le groupe, il indique que l'exécution de ce fichier ou répertoire sera effectuée avec les droits de l'utilisateur ou du groupe propriétaire, respectivement. Cela signifie que lorsque d'autres utilisateurs exécutent ce fichier, il aura les mêmes droits que l'utilisateur propriétaire, et lorsque d'autres fichiers sont créés dans ce répertoire, ils hériteront du groupe propriétaire.
* ''-'': Le tiret ("-") indique que l'indicateur "s" n'est pas activé. Dans ce cas, il n'y a pas d'ensemble de bits "setuid" ou "setgid" appliqué au fichier ou au répertoire.
Ainsi, avec l'indicateur "ss-", aucun ensemble de bits "setuid" ou "setgid" n'est activé pour ce fichier ou répertoire. Cela signifie que lorsqu'il est exécuté ou lorsqu'un nouveau fichier est créé dans ce répertoire, il n'y aura pas de changement de l'utilisateur ou du groupe propriétaire associé.
---
Dans un dossier modifié par ''setfacl -d -m :rwx'', nous avons les propriétés suivantes :
<code>
$ sudo setfacl -d -m :rwx /media/disk_23
$ getfacl /media/disk_23
getfacl : suppression du premier « / » des noms de chemins absolus
# file: media/disk_23
# owner: 99
# group: 99
# flags: ss-
user::rwx
group::rwx
other::rwx
default:user::rwx
default:group::rwx
default:other::rwx
</code>
Cela signifie que les droits d'accès par défaut sont définis pour les nouveaux fichiers et répertoires créés à l'intérieur de ce répertoire. Voici leur signification :
* ''default:user::rwx'' : Cela spécifie que par défaut, les nouveaux fichiers et répertoires créés auront les droits de lecture, écriture et exécution pour le propriétaire.
* ''default:group::rwx'' : Cela indique que par défaut, les nouveaux fichiers et répertoires auront les mêmes droits de lecture, écriture et exécution pour le groupe propriétaire que le répertoire parent.
* ''default:other::rwx'' : Cela spécifie que par défaut, les nouveaux fichiers et répertoires auront les droits de lecture, écriture et exécution pour tous les autres utilisateurs qui ne sont pas le propriétaire ni membres du groupe propriétaire.
En résumé, lorsque vous créez de nouveaux fichiers ou répertoires à l'intérieur de ce répertoire, les droits d'accès par défaut spécifiés ci-dessus seront automatiquement attribués à ces nouveaux éléments. Ces droits d'accès par défaut peuvent être modifiés selon vos besoins.
---
<code>
default:user:www-data:rwx
default:group:www-data:rwx
</code>
Cela indique que par défaut, les nouveaux fichiers et répertoires créés auront "www-data" comme propriétaire et groupe propriétaire, avec les droits de lecture, écriture et exécution (rwx) accordés à la fois au propriétaire et au groupe.