Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
doc:systeme:acl [13/10/2013 15:13] bendia |
doc:systeme:acl [09/10/2015 17:56] milou [Les ACL ou Access Control List] |
||
---|---|---|---|
Ligne 4: | Ligne 4: | ||
* Niveau requis :{{tag>avisé}} | * Niveau requis :{{tag>avisé}} | ||
* Commentaires : Vous voulez créer un dossier partagé entre toto, titi et tata, mais vous ne souhaitez que certains sous-dossiers ne soient accessibles qu'à toto et d'autre à tata. Sans les ACL, c'est vite un casse tête. | * Commentaires : Vous voulez créer un dossier partagé entre toto, titi et tata, mais vous ne souhaitez que certains sous-dossiers ne soient accessibles qu'à toto et d'autre à tata. Sans les ACL, c'est vite un casse tête. | ||
- | * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | ||
* Suivi : {{tag>à-tester à-completer}} | * Suivi : {{tag>à-tester à-completer}} | ||
- | * Création par <vous> <date> | + | * Création par [[user>smolski]] le 02/12/2011 |
- | * Testé par <...> le <...> FIXME | + | * Testé par <...> le <...> |
- | * Commentaires sur le forum : [[url | Lien vers le forum concernant ce tuto]]((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) FIXME | + | * Commentaires sur le forum : [[https://debian-facile.org/topic-4622-wiki-les-acl-page-1.html | ici]]((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) |
Ligne 17: | Ligne 16: | ||
Il faut installer le paquetage acl | Il faut installer le paquetage acl | ||
- | <code root>apt-get install acl</code> | + | <code root>apt-get update && apt-get install acl</code> |
- | FIXME Puis il faut déclarer la prise en charge des acl dans le fichier /etc/fstab en ajoutant ",acl" après "defaults" de la partition concernée: | + | |
+ | |||
+ | FIXME Puis il faut déclarer la prise en charge des acl dans le fichier /etc/fstab en ajoutant ",acl" après "defaults" de la partition concernée: <note>Plus nécessaire sous Wheezy le 16/01/2014</note> | ||
/dev/VOLUME/5 /donnees ext3 defaults,acl 1 2 | /dev/VOLUME/5 /donnees ext3 defaults,acl 1 2 | ||
+ | |||
+ | |||
Vous redémarrez ensuite votre serveur. | Vous redémarrez ensuite votre serveur. | ||
Ligne 46: | Ligne 49: | ||
Cette commande permet l'affichage des acl | Cette commande permet l'affichage des acl | ||
- | |||
<code user>getfacl nom_de_repertoire # affiche les acl de nom_de_répertoire</code> | <code user>getfacl nom_de_repertoire # affiche les acl de nom_de_répertoire</code> | ||
| | ||
- | Le format de sortie de getfacl ressemble à ceci: | + | Le format de sortie de getfacl ressemble à ceci : \\ |
Pour un répertoire qui ne dispose que des acl "minimales" | Pour un répertoire qui ne dispose que des acl "minimales" | ||
+ | <file config retour de la commande> | ||
+ | # file: nom_de_repertoire | ||
+ | # owner: root | ||
+ | # group: root | ||
+ | user::rwx | ||
+ | group::rwx | ||
+ | other::--- | ||
+ | </file> | ||
+ | Ce qui correspond au : | ||
+ | <code user>ls -al nom_de_repertoire | ||
+ | drwxrwx--- 1 root root 596354 sep 4 20:59 nom_de_repertoire</code> | ||
- | # file: nom_de_repertoire | + | Pour un répertoire qui dispose d'acl étendues et d'acl par défaut : |
- | # owner: root | + | <file config retour de la commande> |
- | # group: root | + | # file: nom_de_repertoire |
- | user::rwx | + | # owner: root |
- | group::rwx | + | # group: root |
- | other::--- | + | user::rwx # Les droits du propriétaire |
- | Ce qui correspond au ls -al nom_de_repertoire | + | user:joe:rwx # Les droits de l'utilisateur supplémentaire joe |
- | drwxrwx--- 1 root root 596354 sep 4 20:59 nom_de_repertoire | + | group::rwx # Les droits du groupe du propriétaire |
- | + | group:cool:rwx # Les droits du groupe supplémentaire cool | |
- | Pour un répertoire qui dispose d'acl étendues et d'acl par défaut | + | group:hot:r-x # Les droits du groupe supplémentaire hot |
- | + | group:cold:--- # Les droits du groupe cold | |
- | # file: nom_de_repertoire | + | mask:rwx # Les droits les plus élevés |
- | # owner: root | + | other:--- # Les droits des "autres" |
- | # group: root | + | default:user::rwx # Les droits par défaut sont attribués automatiquement pour |
- | user::rwx # Les droits du propriétaire | + | default:user:joe:rwx # les nouveaux fichiers et répertoires créés. |
- | user:joe:rwx # Les droits de l'utilisateur supplémentaire joe | + | default:group::rwx # Les acl par défaut ne concernent donc que les répertoires |
- | group::rwx # Les droits du groupe du propriétaire | + | default:group:hot:r-x |
- | group:cool:rwx # Les droits du groupe supplémentaire cool | + | default:group:cold:--- |
- | group:hot:r-x # Les droits du groupe supplémentaire hot | + | default:mask:rwx |
- | group:cold:--- # Les droits du groupe cold | + | default:other:--- |
- | mask:rwx # Les droits les plus élevés | + | </file> |
- | other:--- # Les droits des "autres" | + | |
- | default:user::rwx # Les droits par défaut sont attribués automatiquement pour | + | |
- | default:user:joe:rwx # les nouveaux fichiers et répertoires créés. | + | |
- | default:group::rwx # Les acl par défaut ne concernent donc que les répertoires | + | |
- | default:group:hot:r-x | + | |
- | default:group:cold:--- | + | |
- | default:mask:rwx | + | |
- | default:other:--- | + | |
Il est utile d'enregistrer l'ensemble des acl quand on a un serveur de fichiers dans une communauté de travail hétérogène (des centaines d'utilisateurs et de groupes). Cette manipulation peut se faire grâce à la commande: | Il est utile d'enregistrer l'ensemble des acl quand on a un serveur de fichiers dans une communauté de travail hétérogène (des centaines d'utilisateurs et de groupes). Cette manipulation peut se faire grâce à la commande: | ||
- | <code user>getfacl -R /donnees > nom_de_fichier # L'option -R permet la récursivité sur tous les répertoires, | + | <code>getfacl -R /donnees > nom_de_fichier # L'option -R permet la récursivité sur tous les répertoires, |
# sous-répertoires et fichiers de la partition /donnees | # sous-répertoires et fichiers de la partition /donnees | ||
# L'enregistrement de l'ensemble de ces acl est effectué dans | # L'enregistrement de l'ensemble de ces acl est effectué dans | ||
Ligne 97: | Ligne 101: | ||
<code>setfacl -m g:cool:rwx nom_de_repertoire # Pour ajouter le groupe cool et ses droits pour le | <code>setfacl -m g:cool:rwx nom_de_repertoire # Pour ajouter le groupe cool et ses droits pour le | ||
- | # répertoire non_de_repertoire | + | # répertoire non_de_repertoire</code> |
- | setfacl -m g:cool:rwx nom_de_fichier # Pour ajouter le groupe cool et ses droits pour le | + | |
- | # fichier non_de_fichier | + | <code>setfacl -m g:cool:rwx nom_de_fichier # Pour ajouter le groupe cool et ses droits pour le |
- | setfacl -m u:fany:rwx nom_de_repertoire # Pour ajouter l'utilisateur fany et ses droits pour le | + | # fichier non_de_fichier</code> |
- | </code> # répertoire non_de_repertoire | + | |
- | En utilisant -R pour la récursivité, | + | <code>setfacl -m u:fany:rwx nom_de_repertoire # Pour ajouter l'utilisateur fany et ses droits pour le |
+ | # répertoire non_de_repertoire | ||
+ | En utilisant -R pour la récursivité,</code> | ||
<code>setfacl -R -m g:cool:rwx nom_de_repertoire # Pour ajouter le groupe cool et ses droits pour le | <code>setfacl -R -m g:cool:rwx nom_de_repertoire # Pour ajouter le groupe cool et ses droits pour le | ||
Ligne 111: | Ligne 117: | ||
<code>setfacl -m d:g:cool:rwx nom_de_repertoire # Pour ajouter le groupe cool et ses droits par défaut | <code>setfacl -m d:g:cool:rwx nom_de_repertoire # Pour ajouter le groupe cool et ses droits par défaut | ||
- | # pour le répertoire non_de_repertoire</code> | + | # pour le répertoire non_de_repertoire</code> |
- | En utilisant -R pour la récursivité, | + | En utilisant -R pour la récursivité : |
- | | + | |
<code>setfacl -R -m d:g:cool:rwx nom_de_repertoire # Pour ajouter le groupe cool et ses droits par défaut | <code>setfacl -R -m d:g:cool:rwx nom_de_repertoire # Pour ajouter le groupe cool et ses droits par défaut | ||
# pour le répertoire, l'ensemble des sous-répertoires | # pour le répertoire, l'ensemble des sous-répertoires | ||
Ligne 121: | Ligne 126: | ||
=== Attribution des acl à l'aide d'un fichier === | === Attribution des acl à l'aide d'un fichier === | ||
- | Il est possible de restituer l'ensemble des acl d'une partition grâce au fichier obtenu par la commande: | + | Il est possible de restituer l'ensemble des acl d'une partition grâce au fichier obtenu par la commande : |
<code>getfacl -R /donnees > nom_de_fichier</code> | <code>getfacl -R /donnees > nom_de_fichier</code> | ||
- | Pour ce faire, il suffit de se placer à la racine et d'exécuter la commande: | + | Pour ce faire, il suffit de se placer à la racine et d'exécuter la commande : |
<code>setfacl --restore=nom_de_fichier</code> | <code>setfacl --restore=nom_de_fichier</code> | ||
S'il s'agit de restituer les acl sur une arborescence plus petite on peut utiliser: | S'il s'agit de restituer les acl sur une arborescence plus petite on peut utiliser: | ||
- | |||
<code>setfacl -R -M nom_de_fichier repertoire</code> | <code>setfacl -R -M nom_de_fichier repertoire</code> | ||
Ligne 135: | Ligne 138: | ||
Pour supprimer tous les acl: | Pour supprimer tous les acl: | ||
+ | <code>setfacl -b repertoire # Suppression juste pour le répertoire</code> | ||
+ | |||
+ | <code>setfacl -b fichier # Suppression juste pour le fichier</code> | ||
- | <code>setfacl -b repertoire # Suppression juste pour le répertoire | + | <code>setfacl -R -b repertoire # Suppression pour le répertoire, les sous-répertoires et fichiers</code> |
- | setfacl -b fichier # Suppression juste pour le fichier | + | |
- | setfacl -R -b repertoire # Suppression pour le répertoire, les sous-répertoires et fichiers</code> | + | |
Pour supprimer les acl par défaut : | Pour supprimer les acl par défaut : | ||
+ | <code>setfacl -k repertoire # Suppression juste pour le répertoire</code> | ||
- | <code>setfacl -k repertoire # Suppression juste pour le répertoire | + | <code>setfacl -R -k repertoire # Suppression pour le répertoire, les sous-répertoires</code> |
- | setfacl -R -k repertoire # Suppression pour le répertoire, les sous-répertoires</code> | + | |