Datei in $ HOME kann nicht gelöscht werden

8

Ich muss mein gesamtes System sichern, da meine Festplatte im Sterben liegt.

In $ HOME gibt es eine Datei, .rsync.logdie ich nicht als Benutzer oder als Root löschen kann.

LANG=C rm -f /media/alex/3c68c336-bf8d-46f8-bc04-58d3e160f2b1/alex/.rsync.log 
rm: cannot remove '/media/alex/3c68c336-bf8d-46f8-bc04-58d3e160f2b1/alex/.rsync.log': Operation not permitted

Ich habe eine Dateisystemprüfung durchgeführt, aber das hat nicht funktioniert.

LANG=C getfacl /media/alex/3c68c336-bf8d-46f8-bc04-58d3e160f2b1/alex/.rsync.log 
getfacl: Removing leading '/' from absolute path names
# file: media/alex/3c68c336-bf8d-46f8-bc04-58d3e160f2b1/alex/.rsync.log
# owner: alex
# group: alex
user::rw-
group::r--
other::r--

und

lsattr /media/alex/3c68c336-bf8d-46f8-bc04-58d3e160f2b1/alex/.rsync.log 
-----a-------e-- /media/alex/3c68c336-bf8d-46f8-bc04-58d3e160f2b1/alex/.rsync.log

Dateisystem ist ext4.

Ich muss diese Datei entfernen, bevor ich mein Backup von $ HOME erstellen kann. Wie kann ich das machen?

Rui F Ribeiro
quelle
Das Entfernen einer Datei hat eher mit Berechtigungen für das Basisverzeichnis als mit Berechtigungen für die Datei selbst zu tun.
Satō Katsura
In meinem Fall nicht. Ich konnte die Datei nicht löschen, als ich das kaputte System ausführte. Und ich habe dort in meinem $ HOME Zugriff gelesen und geschrieben. Und es wurde richtig montiert. Ich habe das sofort überprüft.
@SatoKatsura, aber die Datei- / Verzeichnisberechtigungen beschränken root normalerweise nicht.
Ilkkachu
@ilkkachu Ah, ich habe den Teil über das Laufen als root verpasst.
Satō Katsura

Antworten:

16
$ lsattr /media/alex/.../.rsync.log 
-----a-------e-- /media/alex/.../.rsync.log

Es agibt das Flag "Nur anhängen" , das ein bisschen wie das unveränderliche Flag funktioniert, da es auch das Entfernen der Datei verhindert. Auch für root:

# touch file.txt ; chattr +a file.txt ; lsattr file.txt ; rm file.txt
-----a-------e-- file.txt
rm: cannot remove `file.txt': Operation not permitted

Eine Datei mit dem Attribut 'a' kann nur im Anhänge-Modus zum Schreiben geöffnet werden. Nur der Superuser oder ein Prozess mit der Funktion CAP_LINUX_IMMUTABLE kann dieses Attribut festlegen oder löschen.

chattr -a /media/alex/.../.rsync.log als Wurzel sollte es loswerden.

ilkkachu
quelle