¿Cómo puede root escribir en el archivo sudoers con permisos establecidos en 440?

¿Cómo puede root escribir en el archivo sudoers con permisos establecidos en 440?

Entonces, cuando miro los permisos del archivo /etc/sudoers, es así

-r--r----- 1 root root 705 Nov  2 19:57 /etc/sudoers

Ahora bien, ¿no significaría esto que no se puede escribir? Entonces, ¿cómo logra el usuario root escribir en él?

Respuesta1

El usuario root siempre tiene acceso completo de escritura a cualquier archivo, independientemente de su modo.

Quizás el mejor ejemplo sea /etc/shadow, que es el modo 000 pero, por supuesto, modificable por root:

[root@centos7 ~]# ls -pl /etc/shadow
----------. 1 root root 1353 Oct 26 07:40 /etc/shadow

Respuesta2

Como se indica en los comentarios, la respuesta original no estaba clara.

El propietario de un archivo siempre puede cambiar los permisos de cualquier archivo de su propiedad (mientras que el root puede hacer esto para todos los archivos existentes).

Si es un usuario habitual, depende de la forma en que intente modificar el archivo de solo lectura:

  • abra el archivo con vi y cámbielo -> puede escribir los cambios con ":w!"
  • Pruebe #echo "prueba" >> archivo de solo lectura, hay un permiso denegado.

Si es el usuario root, puede sobrescribir y cambiar cualquier archivo que desee, pero el programa vi considerará los permisos de sólo lectura y solicitará una confirmación.

El archivo /etc/sudoers siempre debe cambiarse mediante el comando "visudo", que abre el contenido del archivo real en un archivo temporal y realiza algunas comprobaciones antes de guardar los cambios. Como usuario root, los cambios se pueden escribir a pesar de los permisos de solo lectura.

Respuesta3

Intenta usar visudo en lugar de vi

sudo visudo

información relacionada