Como recuperar el password de root en GNU/Linux

Cuando has perdido el password de root de tu máquina GNU/Linux y no sabes como recuperarlo estas en problemas. Aquí tienes una pequeña guía sobre que puedes hacer para hacerte con el control de tu máquina.

En ella explico diversas métodos que podrías emplear. Como sabes muchas cosas pueden ir mal debido a las enormes posibilidades de configuración que ofrece este sistema operativo. No te desesperes si al emplear alguno no te funciona pasa al siguiente método. Si todo sigue sin funcionar escribe un comentario en esta entrada, quizás podamos ayudarte.

La forma más sencilla sería entrar en los gestores de arranque para forzar un arranque en modo single. Si empleas LILO bastaría con pulsar Ctrl-X y escribir en el prompt:

linux single

Si empleas GRUB generalmente sólo tendrás que pulsar “p” e introducir el password de GRUB si lo tienes configurado, sino evita este paso. Cuidado pues en algunas configuraciones debes primero pulsar ESC para que aparezca el menu de GRUB. Una vez en el menú debes buscar la linea con el kernel con el que quieras arrancar, selecciona esta linea y pulsar “e” para editarla. Al final de la linea que comienza por “kernel” introduce la palabra “single” y presiona ENTER para salir del modo de edición. De vuelta en el menú sólo debes arrancar con el kernel que acabas de modificar pulsando “b” (boot).

Atención: Es posible que tanto en LILO como en GRUB ya tengas una opción disponible para arrancar el sistema en modo single. Compruébalo antes de nada (modo rescue, single-user mode pueden ser sus nombres).

Ejemplo linea antes de editarla:

kernel /boot/vmlinuz-x.x.xx-x-xxx root=/dev/sda1 ro

Tras la edición

kernel /boot/vmlinuz-x.x.xx-x-xxx root=/dev/sda1 ro single

Si esto no te ha funcionado otro método sería descargarte alguna distro Live de GNU/linux

Debian Live
Knoppix

Arranca tu sistema con este sistema live. Posiblemente tengas que acceder a la Setup de la BIOS de tu equipo para cambiar la secuencia de arranque.

Después de arrancar el nuevo sistema accede a una terminal en modo root. Monta la partición de tu disco duro que contenga la carpeta /etc/

Por ejemplo si /etc se hallaba en la partición /dev/sda1 ejecuta:

# mount /dev/sda1 /mnt

accede al directorio donde has montado la partición

# cd /mnt

Verifica que aquí tienes tu sistema correctamente montado y con todo lo necesario y ejecuta chroot

# chroot /mnt

Ahora sólo tienes que ejecutar

# passwd

Y cambiar el password al que quieras

Si por cualquier motivo no puedes emplear chroot

Puedes directamente alterar los ficheros de passwords sin necesidad de chroot

vi /mnt/etc/passwd

o si empleas shadow passwords

vi /mnt/etc/shadow

En la entrada de root en el lugar donde aparece el password encriptado debes dejarlo vacío. Por ejemplo:

root:dhfuieb$5454I$$&$&6:14180:0:99999:7:::

Debería quedar así:

root::14180:0:99999:7:::

Arranca el sistema con normalidad, quitando el arranque live (CD,DVD, USB o lo que venga en el futuro) y cuando se te pida el password de root pulsa simplemente ENTER.

Si todo esto falla vuelve a arrancar con la distro live y monta ahora la partición donde tengas tu gestor de arranque /boot/ ahora ya es posible modificar los archivos de configuración de tu gestor de arranque GRUB o LILO para entrar en modo “single” antes de reiniciar el equipo. Busca la linea que comienza con kernel y añádele al final la palabra “single” de manera análoga a como lo hicimos antes a través del menú de GRUB