Ich habe Verzeichnisprüfung mit 2 Akten in ihr. Ich muss Dateien löschen, aber die Berechtigung wird verweigert. Sogar der rm -rf
Befehl kann diese Dateien nicht löschen. Ich habe mich als Root angemeldet.
linux
files
permissions
rm
Mischling
quelle
quelle
ls -la
, damit wir die Berechtigungen für.
(das Verzeichnis) sehen können.Antworten:
Überprüfen Sie vom Root-Benutzer die Attribute der Dateien
Wenn Sie
i
(unveränderlich) odera
(nur anhängen) bemerken , entfernen Sie diese Attribute:quelle
Der häufigste Grund für die
rm
Beschwerde, dass Sie keine Berechtigung zum Löschen einer Datei haben, ist, dass die Berechtigungen für das Verzeichnis Ihnen das Löschen der Datei untersagen. 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
Aufforderung zur Bestätigung vor dem Löschen einer schreibgeschützten Datei, dies ist jedoch nur eine Bestätigung, keine Einschränkung). Bei einigen Unix-Varianten wie OSX (aber nicht Linux) kann die Zugriffssteuerungsliste für eine Datei das Löschen verhindern.ls -l
würde@
am Ende des Berechtigungsfelds anzeigen, ob die Datei einen ACL-Eintrag enthält.Der Zugriff als Root umgeht Berechtigungen, sodass Root Dateien auch in einem schreibgeschützten Verzeichnis löschen kann.
Die Ausgabe von
ls -l
zeigt ein.
am Ende der Berechtigungsspalte. Dies zeigt an, dass die Datei über einen SELinux-Sicherheitskontext verfügt. Im Gegensatz zu Basisberechtigungen und ACL kann der SELinux-Sicherheitskontext für eine Datei steuern, wer sie löschen darf. Außerdem kann SELinux nicht immer von root umgangen werden (es ist möglich, dass ein Prozess als Benutzer-ID 0 ausgeführt wird, aber mit so wenigen Rechten, wie der SELinux-Richtlinien-Designer gewählt hat). Führen Sie Folgendes aus, um zu sehen, was der SELinux-Kontext Ihnen ermöglichtls -lZ . exam_a
.Eine andere Möglichkeit, das Löschen einer Datei zu verhindern, besteht darin, dass sie oder das Verzeichnis, in dem sie enthalten ist, das Attribut " Nur anhängen" oder "Unveränderlich" für Linux aufweist . Führen Sie aus
lsattr -d . exam_a
, um die Linux-Attribute anzuzeigen. Wenn das Attributa
oderi
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 deaktiviert werden.Eine weitere Möglichkeit, das Löschen einer Datei zu verhindern, besteht darin, dass das Dateisystem schreibgeschützt bereitgestellt wird. In diesem Fall wird jedoch eine andere Fehlermeldung angezeigt.
quelle