Est-il possible de configurer des autorisations de répertoire de telle sorte qu'un groupe puisse lire et écrire des fichiers et des sous-répertoires sans rien supprimer?
Il pourrait être suffisant de définir le bit collant sur les répertoires. Les utilisateurs pourront supprimer tous les fichiers qu'ils possèdent, mais pas ceux des autres utilisateurs. Cela peut être suffisant pour votre cas d'utilisation. Sur la plupart des systèmes,/tmp est configuré de cette façon (/ tmp est défini sur 1777)
chmod 1775/contrôlé
Cependant, si vous voulez plus de contrôle, vous devrez activer ACL sur le système de fichiers en question.
Dans/etc/fstab, ajoutez acl aux drapeaux:
/dev/root / ext3 defaults,acl 1 1
Vous pouvez ensuite utiliser setfacl/getfacl pour contrôler et afficher les autorisations au niveau acl.
Exemple: (Créez des fichiers, une fois écrits, ils sont en lecture seule, mais PEUVENT être supprimés par le propriétaire, mais pas par les autres.)
setfacl --set u::rwxs,g::rwx /controlled
setfacl -d --set u::r-x,g::r-x,o::- /controlled
Vous pouvez définir une liste acl par défaut sur un répertoire qui sera utilisé par tous les fichiers qui y sont créés.
Comme d'autres l'ont noté, veillez à spécifier exactement ce que vous voulez. Vous dites "écrire" - mais les utilisateurs peuvent-ils écraser leurs propres fichiers? Peuvent-ils modifier le contenu existant ou simplement l'ajouter? Une fois écrit, c'est en lecture seule? Vous pouvez peut-être spécifier plus de détails dans les commentaires.
Enfin, selinux et grsecurity offrent encore plus de contrôle, mais c'est un tout autre bidon de vers. La configuration peut être assez complexe.
Eh bien, ce serait r-x pour ce répertoire.
Et les fichiers qu'il contient auraient rw-.
En effet, un fichier peut être écrit si ses autorisations autorisent l'écriture, mais il ne peut être supprimé que si les autorisations de son répertoire autorisent l'écriture.
Possible ou non, assurez-vous que l'écrasement avec un fichier de 0 octet n'est pas équivalent à la suppression du fichier dans votre contexte particulier.