Cuándo se usa

Si no recordamos la contraseña de root de una máquina Linux, podemos entrar igualmente editando el arranque en GRUB y forzando un shell como root, sin que nos pida ninguna contraseña. Es el mismo truco que usan las “single user mode” de otros sistemas: aprovechar que quien tiene acceso físico (o a la consola) al arranque, puede saltarse el login.

1. Entrar en la edición de GRUB

Al arrancar la máquina, en la pantalla de GRUB pulsamos la tecla E repetidamente hasta entrar en el modo de edición de la entrada de arranque.

2. Cambiar ro por rw init=/bin/bash

Localizamos la línea linux de la entrada de arranque, que termina en ro quiet (montaje en solo lectura). La modificamos para que monte en lectura-escritura y arranque directamente una shell en vez del proceso de init normal:

Línea de arranque de GRUB con el parámetro “ro” resaltado, antes de modificarlo

Sustituimos ro por:

1rw init=/bin/bash

Línea de arranque de GRUB ya modificada con “rw init=/bin/bash”

3. Arrancar con los cambios

Pulsamos Ctrl + X (o F10, según el teclado) para arrancar con la línea modificada.

4. Cambiar la contraseña

Al arrancar, entramos directamente en una terminal como root, sin login. Hay que tener cuidado porque el teclado suele estar en distribución inglesa (sajona) hasta que carguemos el sistema completo, así que algunos caracteres (como la ñ o los símbolos) no salen donde se esperan.

Terminal mostrando el prompt root@(none):/# tras arrancar con init=/bin/bash

Ya con acceso de root, cambiamos la contraseña con:

1passwd

Y confirmamos la nueva contraseña dos veces:

Terminal ejecutando passwd y confirmando que la contraseña se actualizó correctamente

5. Reiniciar

Con la contraseña ya cambiada, reiniciamos la máquina de forma normal y podremos volver a hacer login con la nueva contraseña de root.

Nota: esto funciona porque quien tiene acceso a editar el arranque de GRUB tiene, de facto, control total de la máquina. Es la razón por la que en entornos de producción conviene proteger GRUB con contraseña y restringir el acceso físico o a la consola.