it-swarm-es.tech

Cómo crear un archivo, incluso el usuario root no puede eliminarlo

¿Cómo crear un archivo que incluso el usuario root no puede eliminar?

13
Kumar

Respuesta simple: no puedes, root puede hacer todo.

Puede establecer el atributo "i" con chattr (al menos si está en ext {2,3,4}), lo que hace que un archivo no se pueda cambiar, pero la raíz puede simplemente desarmar el atributo y eliminar el archivo de todos modos.

Más complejo (y feo solución alternativa): coloque el directorio que desea inalterable para la raíz en el servidor remoto y móntelo a través de NFS o SMB. Si el servidor no ofrece permisos de escritura, se bloquea la cuenta raíz local. Por supuesto, la cuenta raíz local podría simplemente copiar los archivos localmente, desmontar las cosas remotas, colocar la copia en su lugar y cambiar eso.

No puede bloquear la raíz para que no elimine sus archivos. Si no puede confiar en su raíz para mantener los archivos intactos, está teniendo un problema social, no técnico.

33
tante

¡Ponlo en un CD-ROM! ;)

(esto debería ser un comentario pero no puedo hacer comentarios ...)

34
laurent

Coloque su archivo en un sistema de archivos de solo lectura. Puede ser un FS remoto) donde root ya no es root, un CD-ROM o un dispositivo extraíble que puede protegerse contra escritura, por ejemplo, una tarjeta SD.

15
mouviciel

Hace mucho tiempo escribí un parche del kernel (a 2.2.ancient) donde intentar eliminar un archivo llamado SELFDESTRUCT mataba el proceso de llamada. Esto protege contra "rm -rf *" accidental.

2
pjc50

Puedes usar chattr +i para convertir un archivo en inmutable.

Por supuesto, un usuario inteligente con acceso root aún podría usar chattr -i para eliminar el atributo inmutable y luego eliminar el archivo, pero también podrían deshacer cualquiera de los otros intentos de bloquear el acceso enumerados aquí.

Yo diría que chattr es la forma correcta de Unix para hacer esto.

1
jeremyjjbrown