Resetear una contraseña en Linux usando una jaula chroot

Vamos a dejar temporalmente el tema de la ciberseguridad, sin dejarlo realmente de todo, y vamos a hablar sobre cómo restaurar una contraseña de Linux usando una jaula chroot, una técnica que ya vimos hace años que se podía utilizar también para otras tareas de reparación y recuperación como restaurar el GRUB. El comando chroot nos permite ejecutar un proceso bajo un directorio raíz simulado, aislado del resto del sistema. La verdad es que resetear una contraseña de esta forma es algo que no pruebo desde hace años.

Supongamos que tenemos que acceder a un equipo con Linux y hemos perdido u olvidado la contraseña. Lo primero será arrancar el equipo con una distribución de Linux en modo live, lanzamos un terminal y nos hacemos administradores ejecutando:

sudo -s

El siguiente paso sería crear una carpeta que usaremos como «punto de montaje» que en el ejemplo llamaremos recuperapass, para montar en ella la partición en la que tengamos las contraseñas (en el ejemplo pondremos sda1, en vuestro caso poned la que corresponda) y ejecutar chroot sobre ella:

mkdir /mnt/recuperapass
mount /dev/sda1 /mnt/recuperapass
chroot /mnt/recuperapass

En este punto ya está montada nuestra partición dentro de la jaula chroot en la que tenemos permisos de administrador, de esta forma podemos utilizar el comando passwd para establecer una nueva contraseña de administrador, o pasarle el nombre de un usuario si queremos cambiar la de un usuario concreto. Tras eso salimos del proceso iniciado por chroot y desmontamos la partición:

exit
umount /mnt/recuperapass

Llegados a este punto apagamos e iniciamos nuestro Linux normalmente. Ya deberíamos poder entrar con la nueva contraseña.