Impossibile cancellare il file in $ HOME


8

Devo eseguire il backup di tutto il mio sistema, perché il mio HDD sta morendo.

In $ HOME c'è un file .rsync.logche non posso cancellare come il mio utente o come root.

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

Ho eseguito un controllo del filesystem, ma non ha funzionato.

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--

e

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

Il filesystem è ext4.

Devo sbarazzarmi di questo file prima di fare il mio backup da $ HOME. Come posso farlo?


La rimozione di un file ha a che fare con le autorizzazioni sulla directory di base, piuttosto che con le autorizzazioni sul file stesso.
Satō Katsura,

Nel mio caso no. Non riuscivo a cancellare il file mentre stavo eseguendo il sistema rotto. E ho letto e scritto l'accesso lì nella mia $ HOME. Ed è stato montato correttamente. L'ho controllato subito.

@SatoKatsura, ma le autorizzazioni per file / directory non limitano generalmente root.
ilkkachu,

@ilkkachu Ah, mi sono perso la parte sull'esecuzione come root.
Satō Katsura,

Risposte:


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

Il alà è l' accodamento unica bandiera , che funziona un po 'come la bandiera immutabile, in quanto impedisce anche di rimuovere il file. Anche per 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

Un file con l'attributo 'a' impostato può essere aperto solo in modalità append per la scrittura. Solo il superutente o un processo che possiede la capacità CAP_LINUX_IMMUTABLE può impostare o cancellare questo attributo.

chattr -a /media/alex/.../.rsync.log come root dovrebbe sbarazzarsene.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.