Solution 1 :
Oui, les ACL peuvent le faire.
-
Assurez-vous que votre système de fichiers est monté avec
acl
. Pour vérifier cela, tapezmount
. Vous devriez voiracl
parmi d'autres autorisations, par exemple/dev/sda1 on / type ext4 (rw,errors=remount-ro,acl)
S'il n'est pas monté avec acl, ouvrez
/etc/fstab
, et ajoutezacl
à la liste des options :# /etc/fstab: static file system information. # # <file system> <mount point> <type> <options> <dump> <pass> /dev/sda1 / ext3 noatime,errors=remount-ro,acl 0 1
Maintenant, remontez le système de fichiers en cours d'exécution avec les nouvelles options :
mount -v -o remount /
-
Installez les utilitaires acl. Sur ubuntu/debian, c'est :
sudo apt-get install acl
-
Vos nouveaux amis ont
setfacl
etgetfacl
. Utilisezsetfacl
pour changer l'acl par défaut d'un répertoire :setfacl -d -m o:r foo
-d
définit par défaut,-m
modifie acl, eto:r
accorde à « autre » le droit de lire. Définir default sur un répertoire équivaut à peu près à définir setgid sur un répertoire, mais au lieu que les fichiers nouvellement créés héritent du groupe, ils héritent de l'acl. Ensemble, setgid et acl peuvent être puissants, car vous pouvez accorder des autorisations par défaut à un groupe et faire en sorte que les fichiers nouvellement créés appartiennent à ce groupe, pour un umask par répertoire efficace basé sur un groupe. -
Vérifiez votre travail :
ls -l
devrait maintenant afficher un "+" supplémentaire indiquant la présence d'acl en plus des autorisations de fichiers standard.% ls -la foo/ drwxr--r--+
Vous pouvez obtenir des informations détaillées sur l'acl en utilisant
getfacl
.% getfacl foo # file: foo # owner: you # group: you user::rwx group::r-- other::r-- default:user::rwx default:group::--- default:other::r--
Solution 2 :
Vous pouvez également forcer un umask pour le répertoire en définissant la propriété mask ACL comme ceci :
setfacl -d -m mask:07 .