¿Cómo evitar que un archivo en la carpeta de usuario se elimine?

9

¿Cómo puedo hacer que un archivo sea imposible de eliminar por el usuario incluso si está debajo de su carpeta de inicio?

desgua
fuente

Respuestas:

13

Es posible hacer que un archivo sea imposible de eliminar, incluso desde la raíz, en un sistema de archivos ext2 / 3/4, cambiando un atributo del sistema de archivos del archivo:

$ cd
$ touch dummy
$ sudo chattr +i dummy
$ rm dummy
rm: remove write-protected regular empty file `dummy'? y
rm: cannot remove `dummy': Operation not permitted
$ sudo rm dummy
[sudo] password for enzotib: 
rm: cannot remove `dummy': Operation not permitted
$

Más información chattry lsattrpáginas de manual.

Si más tarde desea eliminar el archivo, debe usar

sudo chattr -i dummy

antes de usar rm.

Hay dos inconvenientes en esto:

  1. tienes que ser root para cambiar los atributos;
  2. puede olvidarse de los atributos de ese archivo o la forma de cambiarlos, por lo que parece que ya no puede eliminar el archivo.
enzotib
fuente
¿Hay alguna manera de usar esto y mantener otros permisos? Por ejemplo, todavía se permiten permisos de usuarios y grupos para rwxsubdirectorios y archivos.
roydukkey