Vous pouvez utiliser les ACL pour accorder l'accès à un répertoire particulier à un groupe arbitraire.
Par exemple, si vous avez exécuté setfacl -m g:dba:rwx /home/foo
, les membres du groupe dba auraient alors des autorisations rwx dessus, quel que soit le groupe propriétaire du répertoire.
Vous souhaiterez probablement également définir l'ACL "par défaut" (l'ACL pour les objets nouvellement créés dans le répertoire) pour inclure également cette autorisation.
Si les utilisateurs sont coopératifs, vous pouvez utiliser des listes de contrôle d'accès (ACL). Définissez une ACL sur le répertoire personnel de user1
(et amis) qui accorde un accès en lecture à superuser
. Définissez également l'ACL par défaut pour les fichiers nouvellement créés, ainsi que l'ACL sur les fichiers existants.
setfacl -R -m user:superuser:rx ~user1
setfacl -d -R -m user:superuser:rx ~user1
user1
peut modifier l'ACL de ses fichiers s'il le souhaite.
Si vous voulez toujours donner superuser
accès en lecture à user1
's, vous pouvez créer une autre vue des répertoires personnels des utilisateurs avec des autorisations différentes, avec bindfs.
mkdir -p ~superuser/spyglass/user1
chown superuser ~superuser/spyglass
chmod 700 ~superuser/spyglass
bindfs -p a+rX-w ~user1 ~superuser/spyglass/user1
Les fichiers accessibles via ~superuser/spyglass/user1 sont lisibles par tous. Outre les autorisations, ~superuser/spyglass/user1
est une vue de user1
le répertoire personnel de. Depuis superuser
est le seul utilisateur qui peut accéder à ~superuser/spyglass
, seulement superuser
peut en bénéficier.