| Les deux révisions précédentesRévision précédente | |
| acl [Le 14/04/2026, 07:06] – màj liens internes krodelabestiole | acl [Le 15/09/2026, 20:47] (Version actuelle) – '' pour les noms de commande ou ''[[man> idéalement, pas ** (surtout avec espaces) https://forum.ubuntu-fr.org/viewtopic.php?pid=22907707#p22907707 krodelabestiole |
|---|
| ===== Activation ===== | ===== Activation ===== |
| |
| Les ACL ne sont nativement pas activées sur Ubuntu mais le noyau les prend en charge. Le paquet [[apt://acl]] doit normalement être déjà installé. | Les ACL ne sont nativement pas activées sur Ubuntu mais le noyau les prend en charge. Le paquet ''[[apt>acl]]'' doit normalement être déjà installé. |
| |
| La commande <code>grep ACL /boot/config-$(uname -r)</code> permet de vérifier si le noyau prend en charge les ACL. Elle doit retourner 'y' pour le type système de fichier qui nous intéresse. | La commande <code>grep ACL /boot/config-$(uname -r)</code> permet de vérifier si le noyau prend en charge les ACL. Elle doit retourner 'y' pour le type système de fichier qui nous intéresse. |
| Il faut maintenant [[:montage|préciser lors du montage de la partition]] que l'on veut utiliser les ACL. Si la partition concernée par le partage est de type ext4, la suite est inutile (voir la note à la fin de cette section). | Il faut maintenant [[:montage|préciser lors du montage de la partition]] que l'on veut utiliser les ACL. Si la partition concernée par le partage est de type ext4, la suite est inutile (voir la note à la fin de cette section). |
| |
| Soit en montant la partition avec l'option acl | Soit en montant la partition avec l'option ''acl'' : |
| <code>mount -t ext3 -o defaults,acl /dev/sdaX/ /mount/folder/</code> | <code>mount -t ext3 -o defaults,acl /dev/sdaX/ /mount/folder/</code> |
| |
| soit en inscrivant l'option dans le fichier ''[[:fstab|/etc/fstab]]'' | soit en inscrivant l'option dans le fichier ''[[:fstab|/etc/fstab]]'' : |
| <code>UUID=xxxxxxxxx / ext3 [autres options],acl 0 1</code> | <code>UUID=xxxxxxxxx / ext3 [autres options],acl 0 1</code> |
| puis en remontant la partition (si l'on ne veut pas redémarrer) | puis en remontant la partition (si l'on ne veut pas redémarrer) |
| <code>mount -a -o remount /dev/sdax</code> | <code>mount -a -o remount /dev/sdax</code> |
| |
| (note) : si la partition concernée par le partage est de type ext4 le support des acl est actif par défaut: l'option de montage "acl" a été remplacée par "noacl", qui devient donc celle à utiliser si on veut... désactiver le support des acl. | <note> |
| | Si la partition concernée par le partage est de type [[:ext4]] le support des ACL est actif par défaut, l'option de montage ''acl'' a été remplacée par ''noacl'', qui devient donc celle à utiliser si on veut... désactiver le support des ACL. |
| | </note> |
| ===== Utilisation ===== | ===== Utilisation ===== |
| |
| ==== En ligne de commande ==== | ==== En ligne de commande ==== |
| l'attribution des droits se fait grâce à la commande **setfacl**, la lecture des droits avec **getfacl** | |
| | l'attribution des droits se fait grâce à la commande ''[[man>setfacl]]'', la lecture des droits avec ''[[man>getfacl]]''. |
| |
| Ainsi les deux commandes suivantes sont équivalentes : | Ainsi les deux commandes suivantes sont équivalentes : |
| <code>setfacl -m u::rw fichier</code> | <code>setfacl -m u::rw fichier</code> |
| |
| Un fichier dont les ACL auront été spécifiés verra s'ajouter un **+** à la fin de la liste des droits avec la commande : | Un fichier dont les ACL auront été spécifiés verra s'ajouter un ''+'' à la fin de la liste des droits avec la commande : |
| <code>ls -l fichier</code> | <code>ls -l fichier</code> |
| |
| **getfacl** permet d'afficher l'ensemble des permissions définies : | ''[[man>getfacl]]'' permet d'afficher l'ensemble des permissions définies : |
| <code>$ getfacl fichier | <code>$ getfacl fichier |
| # file: fichier | # file: fichier |
| ici on peut voir que le propriétaire du fichier (utilisateur) a les droits rwx, utilisateur1 rw- et utilisateur2 r--, les autres utilisateurs n'ont aucun droit | ici on peut voir que le propriétaire du fichier (utilisateur) a les droits rwx, utilisateur1 rw- et utilisateur2 r--, les autres utilisateurs n'ont aucun droit |
| |
| **getfacl --omit-header ...** supprime de l'affichage les 3 premières lignes, le nom du fichier, le propriétaire et le groupe. | ''getfacl --omit-header ...'' supprime de l'affichage les 3 premières lignes, le nom du fichier, le propriétaire et le groupe. |
| <code>$ mkdir dir | <code>$ mkdir dir |
| $ ls -ld dir | $ ls -ld dir |
| group::r-x | group::r-x |
| other::r-x</code> | other::r-x</code> |
| Sans acl, la commande getfacl donne les mêmes informations que ls -ld | Sans ACL, la commande ''getfacl'' donne les mêmes informations que ''ls -ld''. |
| |
| **setfacl -d ...** spécifie des acl par défaut, qui ne peuvent s'appliquer qu'aux dossiers. | ''setfacl -d ...'' spécifie des ACL par défaut, qui ne peuvent s'appliquer qu'aux répertoires. |
| <code>$ setfacl -m user:fdsadmin:rwx dir | <code>$ setfacl -m user:fdsadmin:rwx dir |
| $ setfacl -d -m group:nasgrp:r-x dir | $ setfacl -d -m group:nasgrp:r-x dir |
| default:other::r-x</code> | default:other::r-x</code> |
| |
| **getfacl --access --default ...** L'affichage précédent peut se décomposer en droits d'accès fichier, et en droits par défaut : | ''getfacl --access --default ...'' L'affichage précédent peut se décomposer en droits d'accès fichier, et en droits par défaut : |
| <code>$ getfacl --omit-header --access dir | <code>$ getfacl --omit-header --access dir |
| user::rwx | user::rwx |
| other::r-x</code> | other::r-x</code> |
| |
| Les ** permissions effectives ** sont affichées individuellement pour les utilisateurs ou les groupes qui subissent un droit de hiérarchie supérieure différent : | Les permissions effectives sont affichées individuellement pour les utilisateurs ou les groupes qui subissent un droit de hiérarchie supérieure différent : |
| <code>$ chmod g-w dir | <code>$ chmod g-w dir |
| $ ls -ld dir | $ ls -ld dir |
| ==== Exemples ==== | ==== Exemples ==== |
| === autoriser à "utilisateur" la lecture et l'écriture sur "fichier" === | === autoriser à "utilisateur" la lecture et l'écriture sur "fichier" === |
| | |
| <code>setfacl -m user:utilisateur:rw fichier</code> | <code>setfacl -m user:utilisateur:rw fichier</code> |
| <code>setfacl -m u:utilisateur:rw fichier</code> | <code>setfacl -m u:utilisateur:rw fichier</code> |
| La même commande est disponible pour les groupes. Il suffit de remplacer **u**/**user** par **g**/**group** | La même commande est disponible pour les groupes. Il suffit de remplacer ''u''/''user'' par ''g''/''group''. |
| === modifier les permissions de plusieurs utilisateurs/groupes sur "fichier" en même temps === | === modifier les permissions de plusieurs utilisateurs/groupes sur "fichier" en même temps === |
| | |
| <code>setfacl -m user:utilisateur:rwx,user:utilisateur2:r,group:groupe:rw fichier</code> | <code>setfacl -m user:utilisateur:rwx,user:utilisateur2:r,group:groupe:rw fichier</code> |
| | |
| === définir l'accès en lecture par défaut pour "utilisateur" pour les nouveaux fichiers créés dans "dossier" === | === définir l'accès en lecture par défaut pour "utilisateur" pour les nouveaux fichiers créés dans "dossier" === |
| | |
| <code>setfacl -m d:u:utilisateur:r dossier</code> | <code>setfacl -m d:u:utilisateur:r dossier</code> |
| | |
| === supprimer les ACL pour un utilisateur sur une arborescence === | === supprimer les ACL pour un utilisateur sur une arborescence === |
| | |
| <code>setfacl -R -x user::nom_user repertoire_base_arborescence</code> | <code>setfacl -R -x user::nom_user repertoire_base_arborescence</code> |
| | |
| === supprimer les ACL sur un fichier/dossier === | === supprimer les ACL sur un fichier/dossier === |
| | |
| <code>setfacl -b fichier</code> | <code>setfacl -b fichier</code> |
| |
| === En graphique ==== | === En graphique ==== |
| Une fois compris les concepts des ACL, il est possible de gérer les changements de droits en graphique grâce au paquet [[apt://eiciel]]. | |
| {{ :eiciel:eiciel.png?600 |}}= | |
| ---- | |
| |
| //Contributeur : nesthib// | Une fois compris les concepts des ACL, il est possible de gérer les changements de droits en graphique grâce au paquet ''[[apt>eiciel]]''. |
| | |
| | {{:eiciel:eiciel.png?600}} |
| | |
| | ---- |
| | //[[:Contributeurs]] : nesthib, ...// |