Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
acl [Le 21/12/2011, 11:53]
77.194.227.13 [Exemples]
acl [Le 31/07/2023, 18:45] (Version actuelle)
tosage [Exemples] Correction du commentaire pour que ça soit identique
Ligne 5: Ligne 5:
 ====== Les Access Control List : Gestion avancée des droits sous linux ====== ====== Les Access Control List : Gestion avancée des droits sous linux ======
  
-Par défaut, la gestion des [[:droits]] sous linux est relativement basique (bien que souvent suffisante). +Par défaut, la gestion des [[:droits]] sous Linux est relativement basique (bien que souvent suffisante). 
-En effet, il n'est possible de permettre ou d'​interdire la lecture, l'​écriture et l'​exécution de fichiers que pour trois catégories d'​utilisateurs : le propriétaire du fichier, le groupe ​auquel appartient le propriétaire ​et le reste du monde. Cette gestion des droits permet de configurer les accès aux fichiers dans la plupart des situations simples mais peut s'​avérer limitée, par exemple, dans un contexte où plusieurs utilisateurs doivent accéder à une ressource partagée alors qu'ils n'ont pas de groupe ​commun.+En effet, il n'est possible de permettre ou d'​interdire la lecture, l'​écriture et l'​exécution de fichiers que pour trois catégories d'​utilisateurs : le propriétaire du fichier, ​l'​ensemble des utilisateurs inscrits dans le groupe 
 +éponyme relatif à l'​utilisateur ​et le reste du monde. Cette gestion des droits permet de configurer les accès aux fichiers dans la plupart des situations simples mais peut s'​avérer limitée, par exemple, dans un contexte où plusieurs utilisateurs doivent accéder à une ressource partagée alors que ni l'un ni l'autre ne sont réciproquement inscrits dans le groupe ​de l'​autre utilisateur.
  
-Les ACL permettent de pallier ​ce manque grâce à une gestion avancée des droits. +Les ACL permettent de pallier ​cette déficience de sorte qu'il devient possible d'​autoriser un utilisateur tiers à effectuer des opérations sur un fichier (dossier) sans autoriser tout un groupe ou tout le reste du monde. Voir les exemples pour plus d'​informations.
-Ainsi, ​il devient possible d'​autoriser un utilisateur tiers à effectuer des opérations sur un fichier (dossier) sans autoriser tout un groupe ou tout le reste du monde. Voir les exemples pour plus d'​informations.+
 ===== Activation ===== ===== Activation =====
  
Ligne 16: Ligne 16:
 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 [[:​mount_fstab|préciser lors du montage de la partition]] que l'on veut utiliser les ACL.+Il faut maintenant [[:​mount_fstab|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 +soit en inscrivant l'​option dans le fichier ​[[mount_fstab|fstab]] 
-<​code>​UUID=xxxxxxxxx /               ext4    ​[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.
 ===== Utilisation ===== ===== Utilisation =====
  
Ligne 52: Ligne 53:
 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
  
-==== En graphique ==== +**getfacl --omit-header ...** supprime ​de l'​affichage ​les 3 premières lignes, le nom du fichier, le propriétaire et le groupe. 
-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]].+<​code>​$ mkdir dir 
 +$ ls -ld dir 
 +drwxr-xr-x 2 root root 4096 Mar 12 13:54 dir 
 +$ getfacl --omit-header dir 
 +user::rwx 
 +group::​r-x 
 +other::​r-x<​/code> 
 +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.
 +<​code>​$ setfacl -m user:​fdsadmin:​rwx dir
 +$ setfacl -d -m group:​nasgrp:​r-x dir
 +$ getfacl --omit-header dir
 +user::rwx
 +user:​fdsadmin:​rwx
 +group::r-x
 +mask::rwx
 +other::r-x
 +default:​user::​rwx
 +default:​group::​r-x
 +default:​group:​nasgrp:​r-x
 +default:​mask::​r-x
 +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 :
 +<​code>​$ getfacl --omit-header --access dir
 +user::rwx
 +user:​fdsadmin:​rwx
 +group::r-x
 +mask::rwx
 +other::r-x
 +
 +$ getfacl --omit-header --default dir
 +user::rwx
 +group::r-x
 +group:​nasgrp:​r-x
 +mask::r-x
 +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 :
 +<​code>​$ chmod g-w dir
 +$ ls -ld dir
 +drwxr-xr-x+ 2 root root 4096 Mar 12 13:54 dir
 +$ getfacl --omit-header dir
 +user::rwx
 +user:​fdsadmin:​rwx ​              #​effective:​r-x
 +group::r-x
 +mask::r-x
 +other::r-x
 +default:​user::​rwx
 +default:​group::​r-x
 +default:​group:​nasgrp:​r-x
 +default:​mask::​r-x
 +default:​other::​r-x</​code>​ Ici l'​utilisateur fdsadmin qui avait pourtant les droits rwx s'est vu amputer du droit w supprimé au groupe.
  
 ==== Exemples ==== ==== Exemples ====
Ligne 60: Ligne 113:
 <​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** ou **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 ===
 +<​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 ====
 +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]].
  
 ---- ----
  
 //​Contributeur : nesthib// //​Contributeur : nesthib//
  • acl.1324464805.txt.gz
  • Dernière modification: Le 21/12/2011, 11:53
  • par 77.194.227.13