Une façon courante de configurer un répertoire pour le partage de fichiers au sein d'un groupe est la suivante:
$ mkdir foo
$ chgrp felles foo
$ chmod g+ws foo
$ setfacl -m group:felles:rwx foo
$ setfacl -dm group:felles:rwx foo
Cela garantit que tous les fichiers créés dans foo
sont lisibles et inscriptibles par le groupe felles
:
$ umask
0022
$ echo hi > foo/bar
$ ls -l foo
total 4
-rw-rw-r--+ 1 bhm felles 3 2010-09-23 00:18 bar
Cependant, si vous copiez un fichier dans foo
, les ACL par défaut ne sont pas appliquées:
$ echo you > baz
$ cp baz foo/
$ ls -l foo
total 8
-rw-rw-r--+ 1 bhm felles 3 2010-09-23 00:18 bar
-rw-r--r--+ 1 bhm felles 4 2010-09-23 00:19 baz
$ getfacl foo/baz
# file: foo/baz
# owner: bhm
# group: felles
user::rw-
group::rwx #effective:r--
group:felles:rwx #effective:r--
mask::r--
other::r--
Pourquoi cela se produit-il et y a-t-il un moyen de le contourner?
(Le déplacement d' un fichier dans le répertoire ne respecte ni les listes de contrôle d'accès ni la propriété du groupe, mais je peux comprendre pourquoi: vous ne voudrez peut-être pas que les autorisations d'un fichier changent simplement parce que vous changez son nom.)