web-dev-qa-db-fra.com

Comment obtenir setfacl pour définir récursivement les autorisations ACL sous Linux?

J'installe un nouveau serveur et je voulais donner un coup de main à ACL sur les autorisations de style chown: chgrp: chmod.

La page de manuel de setfacl indique que l'option '-R' peut être utilisée pour définir l'ACL de manière récursive sur les fichiers et les répertoires.

-R, --recursive Appliquer les opérations à tous les fichiers et répertoires de manière récursive. Cette option ne peut pas être mélangée avec ‘--restore’.

Si la disposition de mon répertoire ressemble à ceci

test/
   subtest/
   subtest.txt

et j'exécute

setfacl -Rm d:u:foo:rwX test

L'ACL prend effet sur le répertoire 'subtest', mais pas sur le fichier subtest.txt.

Je pense que je peux utiliser find + exec pour le contourner, mais je prévois d'utiliser ce serveur pour former quelques autres administrateurs et je veux le garder aussi simple que possible afin que nous ne soyons pas accrochés à certains des plus avancés conventions.

Merci

20
Joe Holloway

Essayer:

setfacl -Rm u:foo:rwX,d:u:foo:rwX test

pour modifier l'ACL actuelle ainsi que la valeur par défaut. Je crois que "d:" affecte uniquement la liste de contrôle d'accès par défaut (d) des répertoires et laisse les fichiers intacts. Ensuite, si vous créez un fichier nouvea dans le répertoire, il hérite de l'ACL de son répertoire parent via la valeur par défaut.