/ etc / shadow: ¿cómo podría editarse cuando es de solo lectura?

5

Estoy tratando de cambiar el contenido del archivo / etc / shadow pero me doy cuenta de que es de solo lectura

sghk1> ls -l /etc/shadow
-r--------   1 root     sys         4045 Aug 19 16:13 /etc/shadow

El permiso de archivo / etc / shadow es de solo lectura. en ese caso, ¿cómo cambia / usr / bin / passwd su contenido?

e.g. passwd -x 30 username
Novato
fuente

Respuestas:

6

El usuario root en sistemas Linux / Unix puede escribir en un archivo incluso si el indicador de escritura no está configurado. Por lo tanto, puede cambiar el contenido de /etc/shadowcualquier otro archivo independientemente de sus permisos.

La passwdutilidad tiene el conjunto de bits setuid. Ver con:

ls -la /usr/bin/passwd

Debe tener un aspecto como este:

-rwsr-xr-x 1 root root 42824 Sep 13  2012 /usr/bin/passwd

Observe el spermiso del propietario en el archivo. Esto indica el bit setuid . Si un usuario normal ahora ejecuta la passwdutilidad, se ejecuta con el permiso del propietario del archivo; en este caso root.

El bit setuid obtiene privilegios temporalmente elevados para ejecutar una tarea específica, como cambiar cosas en los archivos del sistema, por ejemplo /etc/shadowo /etc/passwd.

El bit setuid debe manejarse con cuidado. Ese mecanismo puede usarse para varias vulnerabilidades si se configura en el binario incorrecto. Imagínese, la /bin/bashutilidad habría establecido el bit setuid; para que todos los usuarios del sistema puedan iniciar un shell raíz.

caos
fuente
Intenté editar el archivo / etc / shadow directamente usando vi con a: wq, pero no puedo hacerlo. el error que muestra el archivo "shadow" es de solo lectura, entonces, ¿cómo es / usr / bin / passwd capaz de escribir en el archivo?
Noob
1
@Noob Ese es el editor que intenta advertirle que edita un archivo de solo lectura (un archivo sin la wbandera). Utilizar :wq!. vi debería aceptar eso.
caos
Que hace ! En realidad, en este sentido, siempre pensé! se usa con q, lo que significa salir sin guardar.
Noob
1
@Noob :q!obliga a salir, sin guardar, :w!obliga a guardar incluso cuando el archivo es de solo lectura. :wq!es lo mismo que :w!+ cerrar el editor.
caos