Est-il possible de configurer les autorisations de répertoire de telle sorte qu'un groupe puisse lire et écrire des fichiers et des sous-répertoires mais ne puisse rien supprimer ?
Réponses
Trop de publicités?Cela pourrait être suffisant pour mettre le bit collant sur les répertoires. Les utilisateurs pourront supprimer 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 configuré 1777)
chmod 1775 /contenu
Toutefois, si vous souhaitez un contrôle plus poussé, vous devrez activer l'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 visualiser les autorisations de niveau acl.
Exemple : (Créer 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 d'acl par défaut sur un répertoire qui sera utilisée par tous les fichiers qui y sont créés.
Comme d'autres l'ont fait remarquer, 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, il est en lecture seule ? Vous pouvez peut-être donner plus de détails dans les commentaires.
Enfin, selinux et grsecurity offrent encore plus de contrôle, mais c'est une autre paire de manches. La configuration peut être assez complexe.
Eh bien, ce serait r-x pour ce répertoire.
Et les fichiers qui s'y trouvent auraient rw-.
En effet, un fichier peut être écrit si ses permissions d'écriture le permettent, mais il ne peut être supprimé que si ses permissions d'écriture le permettent. répertoire Les permissions de l'utilisateur permettent l'écriture.