¿Cómo evito que el usuario root elimine un archivo?


8

Me gustaría saber si puedo evitar que el usuario root elimine un archivo. ¿Es posible?


2
Apaga la computadora. ¡No es posible hacer nada para detener esto!
slm

2
Root es lo que en el mundo de Windows se llama "superadmin", es una cuenta destinada a ser utilizada específicamente porque puede hacer lo que quiera. Incluso si evitaras que root hiciera algo, entonces no habría forma de hacerlo. Las personas solo deberían obtener acceso a la raíz si no se puede hacer nada con los permisos / acls / setuid / Capacidades / sudo o si hacerlo sería más tiempo de lo que vale. Si le preocupa tanto, escriba una secuencia de comandos para hacer lo que necesitan root y deles derechos de sudo para esa secuencia de comandos.
Bratchley

¿Por qué quieres hacer esto?
Nils

Respuestas:


13

No, esto no es posible. Puede establecer el atributo inmutable con chattr +i, lo que al menos hará que sea irritante y no obvio lo que se debe hacer para permitir la escritura en el archivo, pero simplemente pueden desarmarlo nuevamente. Además, su sistema de archivos debe admitir esto y tener la funcionalidad habilitada.

SELinux también puede hacer algunas limitaciones, pero nuevamente, puede deshabilitarse.

La mejor solución es controlar adecuadamente a los usuarios y programas limitando su acceso y no permitiendo que se ejecuten como root a menos que sea absolutamente necesario.


1
Pero, por supuesto, SELinux y similares pueden evitar que root lo desactive. :-)
Hauke ​​Laging

@HaukeLaging Root puede, a través de diferentes configuraciones, modificar la memoria arbitraria, por lo que cada vez es más difícil con cada barrera. Jugar al gato y al ratón con root no tiene mucho sentido (pero sí, sería teóricamente posible evitar que root lo haga).
Chris Down

@ChrisDown, SELinux ciertamente puede reducir la raíz a un "usuario normal", con permiso. Es parte de toda la idea, de hecho.
vonbrand

1
@vonbrand Si bien eso puede ser algo que SELinux desea hacer, es difícil hacerlo en la práctica. Como dije, es teóricamente posible, pero prácticamente improbable.
Chris Down

@ChrisDown, muy posible, pero muy poco Unixy, muy pocos lo hacen. Los dedos están demasiado acostumbrados a hacer ciertas cosas ... además, tiene sentido solo para configuraciones terminalmente paranoicas.
vonbrand

6

Como otros han dicho, en general, la idea de root es que un usuario puede hacer que la máquina haga cualquier cosa que pueda hacer. Por lo tanto, no hay un indicador fácil que pueda evitar que la raíz elimine intencionalmente un archivo ( chattr +ipuede evitar la eliminación accidental ).

Pero, a pesar de esto, hay un par de soluciones:

  1. Coloque el archivo en un servidor de archivos y configure el servidor de archivos para que no permita la eliminación. Esto funciona porque la raíz local no es raíz en el servidor de archivos.
  2. Ponga el archivo en medios WORM . Esto funciona porque el hardware no permitirá una sobrescritura, por lo que los datos están protegidos. (Sobrescribir no es algo que la máquina pueda hacer). Las opciones baratas son CD-R y DVD-R. Asegúrese de que su unidad no pueda sobrescribir (destruir) secciones ya escritas. También hay tarjetas SD WORM.

0

No.

Cualquier usuario con privilegios de "sudo" o el usuario root puede ver y eliminar todo.

Sin embargo, en un sistema ideal no tendría que preocuparse por eso porque solo un usuario tiene súper privilegios, y solo lo usará cuando sea necesario y siempre con capacidad de respuesta.


0

Es posible bajo circunstancias muy específicas:

Puede desconectar la unidad USB donde se produce el cambio o desconectar el cable de Ethernet entre la computadora y el NAS. Pero es probable que el archivo se corrompa o quede inalcanzable o ambos.

Además de la acción basada en hardware, es posible que pueda restaurar el archivo desde una copia de seguridad anterior.

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.