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/shadow
cualquier otro archivo independientemente de sus permisos.
La passwd
utilidad 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 s
permiso del propietario en el archivo. Esto indica el bit setuid . Si un usuario normal ahora ejecuta la passwd
utilidad, 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/shadow
o /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/bash
utilidad habría establecido el bit setuid; para que todos los usuarios del sistema puedan iniciar un shell raíz.