Pour les fichiers créés à partir du compte testuser dans le répertoire / var / www, j'ai besoin qu'ils aient g + rwx en tant qu'autorisations et www-data en tant que groupe.
Comment puis-je atteindre cet objectif?
Je crée les fichiers via SSH.
linux
file-permissions
Mr.Gando
la source
la source
stor
/appe
? Via HTTPPUT
? Via un compte shell? Ces détails sont importants, car ils affectent grandement les réponses possibles et doivent être dans votre question.Réponses:
Pour définir le groupe, donnez
/var/www
le bit setgid :Pour ajuster également les sous-répertoires:
find /var/www -type d -exec chmod g+s {} +
Cela fera que tous les fichiers nouvellement créés hériteront du groupe du répertoire parent, au lieu de celui de l'utilisateur.
Pour définir les autorisations de groupe par défaut, vous devrez utiliser des ACL . Définissez une ACL "par défaut":
Pour ajuster également les sous-répertoires:
find /var/www -type d -exec setfacl -m d:g::rwx {} +
Remarque: Le système de fichiers doit avoir la prise en charge ACL activée. Parfois, il est activé par défaut; sur ext3 ou ext4, vous pouvez obtenir "Opération non prise en charge", auquel cas elle doit être activée manuellement:
Pour un système de fichiers actuellement monté:
mount -o remount,acl /
En permanence - l' une des méthodes ci-dessous:
au niveau fstab: modifier
/etc/fstab
pour avoiracl
dans le champ d'optionsau niveau du système de fichiers:
tune2fs -o acl /dev/diskname
la source
chmod
obtiendrait également tous les fichiers.install
, parviennent d'une manière ou d'une autre à contourner les ACL par défaut des répertoires./var/www/html/projects
dossier et lorsque www-data crée un fichier, il a desrw-rw-r
autorisations mais quand je fais quelque chose dans la console, il crée un fichier avecrw-r--r
. Comment puis-je forcer les nouveaux fichiers créés à toujours avoir desrw-rw-r
autorisations?umask
. Les autorisations par défaut par répertoire sont modifiables en utilisantsetfacl
comme dans le message principal.Cela pourrait avoir bloqué quelques personnes avec la réponse `` grawity '' sur setgid, si le groupe du dossier est différent du vôtre, vous devrez peut-être exécuter chmod en tant que root, mais vous n'obtiendrez aucune erreur indiquant que vous devez le faire.
la source
Le groupe de fichiers en cours de création par un utilisateur est le groupe de cet utilisateur (dans / etc / group). Les autorisations sont contrôlées par le paramètre UMASK voir ceci
la source