Linux - un membre du groupe ne peut pas supprimer de fichier avec l'autorisation rw

15

Ci - dessous montre un fichier, /tmp/testfile, appartenant à user1 avec le groupe a changé de roue qui comprend également utilisateur2 . Le fichier est rwautorisé pour le groupe. Donc, aucun membre du groupe ne devrait-il pouvoir le supprimer? La sortie exemple ci - dessous montre que user2 ne peut pas supprimer le fichier. Pourquoi?

[user2@files ~]$ ls -l /tmp/testfile
-rw-rw-r-- 1 user1 wheel 0 Jul 18 18:54 /tmp/testfile
[user2@files ~]$ groups
user2 wheel
[user2@files ~]$  rm /tmp/testfile
rm: cannot remove `/tmp/testfile': Operation not permitted
utilisateur347765
la source
En plus de l'explication complète de @grawity, une bonne solution consiste à créer votre propre répertoire sous tmpet à résoudre le problème
persistant

Réponses:

29

Tout d'abord, vous regardez les mauvaises autorisations. Lorsque vous déplacez / renommez / supprimez un fichier, vous ne modifiez que le répertoire parent . Les autorisations propres au fichier ne sont pas vérifiées. Vous ne supprimez qu'une entrée de la liste de fichiers du répertoire. Par conséquent, vous devez vérifier les autorisations du répertoire parent (dans ce cas /tmp).

$ ls -ld /tmp
drwxrwxrwt 15 root root 460 Jul 19 15:18 /tmp/

Deuxièmement, /tmpc'est spécial. Sur pratiquement tous les systèmes, any ( ugo=rwx) est accessible en écriture ( ), ainsi, à première vue, il semble que quiconque puisse renommer ou supprimer n'importe quel fichier. Cela faciliterait bien sûr (bien, encore plus) la création de problèmes pour les autres utilisateurs, par conséquent, /tmple mode "collant", également appelé "suppression restreinte", est défini ( o+t). Lorsque ce mode est défini, seul le propriétaire du fichier peut déplacer ou supprimer des fichiers dans ce répertoire, quelles que soient les autorisations.

(Sur GNU, la chmod(1)page de manuel contient une section sur "l'indicateur de suppression restreinte ou le bit collant" .)

Grawity
la source
Je suis confronté au même problème en raison du deuxième point d'autorisation spéciale. J'ai essayé de le supprimer chmod o-t /tmp, puis j'ai essayé de nouveau de supprimer le fichier, mais il continue de se plaindre.
Shashank Agrawal
1
Non seulement le propriétaire du fichier peut supprimer des fichiers de ce répertoire, mais également le répertoire racine et le propriétaire du répertoire (par exemple / tmp).
wulfgarpro