J'ai essayé "chattr + i DIRNAME", c'est super, mais je ne peux pas créer de fichiers dans le DIR après chattr. Quels sont les autres éléments permettant d'empêcher les utilisateurs de supprimer un annuaire?
root@HOST ~] mkdir test
[root@HOST ~] chattr +i test
[root@HOST ~] cd test
[root@HOST ~/test] touch sth
touch: cannot touch `sth': Permission denied
[root@HOST ~/test] cd ..
[root@HOST ~] chattr -i test
[root@HOST ~] cd test
[root@HOST ~/test] touch sth
[root@HOST ~/test]
MISE À JOUR: seule la suppression du répertoire est importante, j'ai donc encore besoin d'y supprimer les fichiers
permissions
files
gasko peter
la source
la source
/tmp
et/var/tmp
. Bien que chaque utilisateur puisse y créer des fichiers, il / elle ne peut supprimer que ses propres fichiers / répertoires, mais pas le répertoire lui-même.Réponses:
Alors, quel est le problème avec un chown / chmod simple?:
OK, laissez-moi vous dire ce qui ne va pas: chaque utilisateur a tous les accès à tous les fichiers du
question
répertoire en raison des777
autorisations. Il vaut mieuxgroupadd question
mkdir question
chown root:question ./question
chmod 770 ./question
usermod -G group user
L'astuce importante ici est que l'annuaire a un propriétaire différent de tous les utilisateurs qui essaieront de le supprimer.
la source
sudo chmod o+t ..
pour définir l't
indicateur sur le répertoire parent. L't
indicateur ne permettra pas de supprimer un fichier qui n'appartient pas à l'utilisateur.t
est couramment utilisé/tmp
pour faire exactement cela. UserA ne peut pas supprimer les fichiers appartenant à UserB.Créez un fichier ".protected" et faites comme root
Vous pouvez ensuite supprimer tous les fichiers sauf
.protected
dans ce répertoire, ainsi le répertoire ne peut être supprimé par aucun autre utilisateur.la source
devrait faire le travail. Vous pouvez créer des fichiers à l'intérieur mais vous ne pourrez pas les supprimer.
la source