Linux - Gruppenmitglied kann keine Datei mit der Berechtigung rw löschen

15

Unten sehen Sie eine Datei, /tmp/testfiledie user1 gehört und deren Gruppe in wheel geändert wurde und die auch user2 enthält . Die Datei hat die rwBerechtigung für die Gruppe. Sollte also kein Mitglied der Gruppe in der Lage sein, sie zu löschen? Die folgende Beispielausgabe zeigt, dass Benutzer2 die Datei nicht löschen kann. Warum?

[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
user347765
quelle
Nach der vollständigen Erklärung von @grawity ist es eine gute Lösung, ein eigenes Verzeichnis zu erstellen tmpund die
schwierige

Antworten:

30

Erstens sehen Sie die falschen Berechtigungen. Wenn Sie eine Datei verschieben, umbenennen oder löschen, ändern Sie nur das übergeordnete Verzeichnis. Die eigenen Berechtigungen der Datei werden nicht überprüft. Sie entfernen nur einen Eintrag aus der Dateiliste des Verzeichnisses. Daher sollten Sie die Berechtigungen des übergeordneten Verzeichnisses überprüfen (in diesem Fall /tmp).

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

Zweitens /tmpist etwas Besonderes. Auf praktisch allen Systemen ist es für jedermann beschreibbar ( ugo=rwx). Auf den ersten Blick sieht es so aus, als könnte jeder eine Datei darin umbenennen oder löschen. Dies würde es natürlich einfach (naja, noch einfacher) machen, Probleme für andere Benutzer zu schaffen, daher hat man /tmpimmer den "sticky" aka "restricted deletion" -Modus gesetzt ( o+t). In diesem Modus kann nur der Eigentümer der Datei Dateien in diesem Verzeichnis verschieben oder löschen, unabhängig von den Berechtigungen.

(Auf GNU-Coreutils enthält die chmod(1)Handbuchseite einen Abschnitt über das "eingeschränkte Löschflag oder Sticky-Bit" .)

user1686
quelle
Ich stehe vor dem gleichen Problem, da ich an zweiter Stelle eine Sondergenehmigung habe. Ich habe versucht, es zu entfernen chmod o-t /tmpund dann erneut versucht, die Datei zu löschen, aber es wird immer noch das gleiche beanstandet.
Shashank Agrawal
1
Nicht nur der Dateieigentümer kann Dateien in diesem Verzeichnis löschen, sondern auch root und der Eigentümer des Verzeichnisses (z. B. / tmp).
Wulfgarpro