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

Warum kann ich diese Datei nicht als root löschen?

Überprüfen Sie vom Root-Benutzer aus die Dateiattribute

# lsattr 

wenn Sie i bemerken (unveränderlich) oder a (nur Anhängen), entfernen Sie diese Attribute:

# man chattr
# chattr -i [filename]
# chattr -a [filename]

Der häufigste Grund für rm sich darüber beschweren, dass Sie keine Berechtigung zum Löschen einer Datei haben, besteht darin, dass die Berechtigungen für das Verzeichnis es Ihnen verbieten, die Datei zu löschen. Um eine Datei zu löschen, benötigen Sie Schreibrechte für das Verzeichnis. Die Berechtigungen für die Datei sind irrelevant (rm ohne -f fordert zur Bestätigung auf, bevor eine schreibgeschützte Datei gelöscht wird, aber das ist nur eine Bestätigung, keine Einschränkung). Bei einigen Unix-Varianten wie OSX (aber nicht Linux) kann die ACL einer Datei deren Löschung verhindern; ls -l würde @ anzeigen am Ende des Berechtigungsfelds, wenn es einen ACL-Eintrag für die Datei gab.

Der Zugriff als Root umgeht Berechtigungen, sodass Root Dateien auch in einem schreibgeschützten Verzeichnis löschen kann.

Die Ausgabe von ls -l zeigt eine . am Ende der Berechtigungsspalte. Dies weist darauf hin, dass die Datei einen SELinux-Sicherheitskontext hat. Im Gegensatz zu grundlegenden Berechtigungen und ACL kann der SELinux-Sicherheitskontext für eine Datei steuern, wer sie löschen darf. Darüber hinaus kann SELinux nicht immer von root umgangen werden (es ist möglich, dass ein Prozess mit der Benutzer-ID 0 läuft, aber mit so wenigen Rechten, wie der SELinux-Richtliniendesigner ausgewählt hat). Um zu sehen, was der SELinux-Kontext Ihnen ermöglicht, führen Sie ls -lZ . exam_a aus .

Eine andere Sache, die das Löschen einer Datei verhindern kann, ist, wenn sie oder das Verzeichnis, das sie enthält, das Anfüge-nur- oder unveränderliche Linux-Attribut hat. Führen Sie lsattr -d . exam_a aus um die Linux-Attribute anzuzeigen. Wenn die a oder i -Attribut aktiviert ist, müssen Sie es entfernen (chattr -a -i . exam_a ), um die Datei zu löschen; das kann nur root. Root kann diese Attribute nicht umgehen, um eine Datei zu löschen, die Attribute müssen zuerst ausgeschaltet werden.

Eine weitere Sache, die verhindert, dass eine Datei gelöscht wird, ist, wenn das Dateisystem schreibgeschützt gemountet ist, aber Sie würden in diesem Fall eine andere Fehlermeldung erhalten.


Linux
  1. So löschen Sie die Root-E-Mail-Datei (Postfach) unter Linux

  2. Warum zeigt "find" diese Datei nicht an??

  3. Datei kann nicht gelöscht werden, auch wenn sie als Root ausgeführt wird?

  4. Nur Root kann mounten, warum?

  5. Warum können Dateien nicht von Inode manipuliert werden?

Warum fügt Vim einen Zeilenumbruch hinzu? Ist das eine Konvention?

Warum kann ich diesen Prozess unter Linux nicht beenden?

Warum kann ich unter Linux keine Dateien erstellen, die größer als 2 GB sind?

Warum wird das Root-Verzeichnis durch ein /-Zeichen gekennzeichnet?

Wie kann ein Dateimanager ein Laufwerk ohne Root mounten?

Ich kann Dateien nicht löschen 'rm:X schreibgeschütztes Dateisystem kann nicht entfernt werden'