Antworten:
Überprüfen Sie vom Root-Benutzer die Attribute der Dateien
# lsattr
Wenn Sie i
(unveränderlich) oder a
(nur anhängen) bemerken , entfernen Sie diese Attribute:
# man chattr
# chattr -i [filename]
# chattr -a [filename]
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öglicht ls -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 Attribut a
oder i
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.
ls -la
, damit wir die Berechtigungen für.
(das Verzeichnis) sehen können.