No se puede borrar el archivo en $ HOME


8

Tengo que hacer una copia de seguridad de todo mi sistema, porque mi HDD está muriendo.

En $ HOME hay un archivo .rsync.logque no puedo borrar como mi usuario o como 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

Ejecuté una comprobación del sistema de archivos, pero eso no funcionó.

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

y

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

El sistema de archivos es ext4.

Necesito deshacerme de este archivo antes de hacer mi copia de seguridad desde $ HOME. ¿Como lo puedo hacer?


Eliminar un archivo tiene que ver con permisos en el directorio base, en lugar de con permisos en el archivo en sí.
— Satō Katsura

En mi caso no. No pude borrar el archivo cuando estaba ejecutando el sistema roto. Y he leído y escrito acess allí en mi $ HOME. Y fue montado correctamente. Lo comprobé de inmediato.

@SatoKatsura, pero los permisos de archivo / directorio no suelen limitar la raíz.
— ilkkachu

@ilkkachu Ah, me perdí la parte de correr como root.
— Satō Katsura

Respuestas:


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

El ano es el append única bandera , que funciona un poco como la bandera inmutable en que también evita la eliminación del archivo. También para 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 archivo con el conjunto de atributos 'a' solo se puede abrir en modo de agregado para escritura. Solo el superusuario o un proceso que posee la capacidad CAP_LINUX_IMMUTABLE puede establecer o borrar este atributo.

chattr -a /media/alex/.../.rsync.log como root debería deshacerse de él.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.