GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Eine Datei mit den Dateimodusbits a+rw kann nicht entfernt werden

Der /tmp Verzeichnis ist herkömmlicherweise mit der eingeschränkten Löschung gekennzeichnet Flag, das als Erlaubnisbrief t erscheint oder T in ls Ausgabe.

Eingeschränkte Löschung impliziert mehrere Dinge. Im allgemeinen Fall bedeutet dies, dass nur der Eigentümer der Datei oder der Eigentümer von /tmp selbst, kann eine Datei/ein Verzeichnis in /tmp löschen .

Sie können die Datei nicht löschen, da Sie nicht der Besitzer sind, also root . Versuchen Sie, rm auszuführen mit sudo die Sie wahrscheinlich vergessen haben.

sudo rm /tmp/test

Genauer gesagt, nur für Linux, das eingeschränkte Lösch-Flag (in einem Verzeichnis, das von allen beschreibbar ist, wie /tmp ) auch aktiviert den protected_symlinks , protected_hardlinks , protected_regular , und protected_fifos Einschränkungen, die Benutzer in solchen Verzeichnissen daran hindern, symbolischen Links zu folgen, die ihnen nicht gehören, Benutzer daran hindern, feste Links zu Dateien zu erstellen, die ihnen nicht gehören, Benutzer daran hindern, FIFOs zu öffnen, die ihnen nicht gehören, und Benutzer daran hindern, vorhandene Dateien zu öffnen, die ihnen nicht gehören sie besitzen nicht, wann sie erwartet haben, sie zu erstellen.

Dies wird Sie mit Berechtigungsfehlern überraschen, wenn Sie verschiedene weitere Dinge wie root tun wenn Sie tun Verwenden Sie sudo .

Mehr zu diesen fraglichen Fragen wie „Hardlink-Berechtigungsverhalten unterschiedlich zwischen CentOS 6 und CentOS 7“, „Symbolischer Link funktioniert nicht wie erwartet, wenn Benutzer geändert wird“ und „Gruppenberechtigungen für Root funktionieren nicht in /tmp“.


Das Problem scheint das Sticky Bit von /tmp zu sein .

$ ls -ld /tmp
drwxrwxrwt⃝   1 root  root  1044 Mar 13 12:09 /tmp

https://en.wikipedia.org/wiki/Sticky_bit

Wenn das Sticky-Bit eines Verzeichnisses gesetzt ist, behandelt das Dateisystem die Dateien in solchen Verzeichnissen auf besondere Weise, sodass nur der Eigentümer der Datei, der Eigentümer des Verzeichnisses oder der Root-Benutzer die Datei umbenennen oder löschen kann. Ohne das gesetzte Sticky-Bit kann jeder Benutzer mit Schreib- und Ausführungsberechtigungen für das Verzeichnis enthaltene Dateien umbenennen oder löschen, unabhängig vom Eigentümer der Datei. Normalerweise wird dies im /tmp-Verzeichnis festgelegt, um normale Benutzer daran zu hindern, die Dateien anderer Benutzer zu löschen oder zu verschieben.


Linux
  1. Installieren Sie Binärdateien in /bin, /sbin, /usr/bin und /usr/sbin, Interaktionen mit --prefix und DESTDIR

  2. Mongodb kann nicht aus Debian entfernt, gelöscht oder deinstalliert werden

  3. Wie kann ich eine Datei oder ein Verzeichnis namens \ entfernen?

  4. Warum andere Dinge als /home auf eine separate Partition legen?

  5. echo oder print /dev/stdin /dev/stdout /dev/stderr

Wie behandelt Linux mehrere aufeinanderfolgende Pfadtrennzeichen (/home////username///file)?

Warum kann Rm schreibgeschützte Dateien entfernen?

UNIX/Linux:Was ist die korrekte Berechtigung für die Verzeichnisse /tmp und /var/tmp?

Die Dateien /proc/mounts, /etc/mtab und /proc/partitions verstehen

Mit Feldtrenner sortieren

Sollten Websites gemäß der empfohlenen Verwendung in /var/ oder /usr/ leben?