J'ai un répertoire appelé data
. Ensuite, j'exécute un script sous l'ID utilisateur 'robot'. robot écrit dans le data
répertoire et met à jour les fichiers qu'il contient. L'idée est data
ouverte pour moi et le robot de mettre à jour.
J'ai donc configuré le groupe de permissions et de propriétaires comme ceci
drwxrwxr-x 2 me robot-grp 4096 Jun 11 20:50 data
où robot et moi appartenons tous deux au "robot-grp". Je modifie l'autorisation et le groupe de propriétaires de manière récursive comme le répertoire parent.
Je télécharge régulièrement de nouveaux fichiers dans le data
répertoire en utilisant rsync
. Malheureusement, les nouveaux fichiers téléchargés n'héritent pas de la permission du répertoire parent, comme je l'espère. Au lieu de cela, il ressemble à ceci
-rw-r--r-- 1 me users 6 Jun 11 20:50 new-file.txt
Lorsque le robot tente de se mettre à jour new-file.txt
, il échoue faute d'autorisations de fichiers.
Je ne suis pas sûr que le réglage d'umask aide. En tout cas, les nouveaux fichiers ne le suivent pas vraiment.
$ umask -S
u=rwx,g=rx,o=rx
Je suis souvent dérouté par les autorisations de fichiers Unix. Ai-je même un bon plan? J'utilise Debian Lenny.
la source
sudo setfacl -Rm g:users:rwX,d:g:users:rwX /var/www/logs_or_something
. Avait un problème avec les tests PHPUnit. Après avoir créé des fichiers journaux à partir de tests en cours, l’utilisateur Apachewww-data
n’a pas pu les écrire / lire.setfacl
page de manuel ,-b
ou--remove-all
supprime les ACL étendues.setfacl -Rm g:users:rwX,d:g:users:rwX data/
à la fin de/etc/fstab
?defaults
pourdefaults,acl
.setfacl
est une commande à exécuter depuis le terminal.data/
doit être remplacé par le chemin du répertoire que vous souhaitez modifier.