Je rencontre un problème d'autorisations sur un serveur Linux. Je suis habitué à BSD. Lorsqu'un répertoire appartient à un groupe dont l'utilisateur ne le possède pas, tel que www-data, les fichiers créés dans ce répertoire seront la propriété de ce groupe. Ceci est important car je veux que les fichiers soient lisibles par le serveur Web (que je ne vais pas exécuter en tant que root), mais un utilisateur peut toujours mettre de nouveaux fichiers dans le répertoire. Je ne peux pas mettre les utilisateurs dans www-data car ils peuvent alors lire les sites Web de tous les autres utilisateurs.
Je veux que le serveur Web lise tous les sites Web, je veux que les utilisateurs puissent changer les leurs.
Les autorisations sont définies comme ceci sur les dossiers pour le moment ....
drwxr-x--- 3 john www-data 4096 Feb 17 21:27 john
C’est le comportement standard sous BSD que les autorisations fonctionnent de cette façon. Comment faire pour que Linux fasse cela?
la source
Réponses:
On dirait que vous décrivez la fonctionnalité setgid bit où, lorsqu'un répertoire dans lequel il est défini, tous les nouveaux fichiers créés dans celui-ci obligeront leur groupe à être défini sur le même groupe que celui défini dans le répertoire parent.
Exemple
mettre en place un répertoire avec des permanentes + des propriétaires
touchez un fichier comme saml dans ce répertoire
Cela vous donnera approximativement ce que cela ressemble à ce que vous voulez. Si vous voulez vraiment exactement ce que vous avez décrit, je pense que vous aurez besoin de recourir à la fonctionnalité Listes de contrôle d'accès pour obtenir cette liste (ACL).
ACL
Si vous souhaitez contrôler un peu plus les autorisations sur les fichiers créés dans le répertoire
somedir
, vous pouvez ajouter la règle d'ACL suivante pour définir les autorisations par défaut de la manière suivante.avant
définir les autorisations
Notez que,
+
à la fin, cela signifie que des ACL sont appliquées à ce répertoire.après
Notez que les autorisations par défaut (
setfacl -Rdm
) sont définies de sorte que les autorisations soient (r-x
) par défaut (g:apache:rx
). Cela force tous les nouveaux fichiers à avoir uniquement leurr
bit activé.la source
unzip
?unzip
. Plus précisément, le-X
commutateur.TL: DR; pour que les nouveaux fichiers héritent du groupe du dossier conteneur, procédez comme suit:
Remarque: son implicite dans la réponse acceptée, il ne s'agit que d'un extrait de code.
la source
En complément de la réponse de slm, notez que, sur un système de fichiers ext2 / 3/4, vous pouvez répliquer le comportement BSD que vous décrivez en utilisant l'
bsdgroups
option de montage sur la partition. De lamount(1)
page de manuel:la source