Recuperar contraseña de root en CentOS 8 y RHEL 8

En esta entrada vamos a ver los pasos necesarios para recuperar la contraseña del usuario root en sistemas GNU/Linux RHEL 8 (Red Hat Enterprise Linux) y CentOS 8. Este método es efectivo cuando no sabemos o hemos olvidado la contraseña actual y no podemos iniciar una sesión como root en el sistema de ninguna forma.

El primer paso es disponer de acceso físico al servidor que tiene el sistema instalado, ya sea por consola o conectando un teclado y un monitor al mismo. Si es una máquina virtual, tendréis que acceder a través de la consola, ya sea en Vcenter, un ESXi, OVM, etc.

Para iniciar la recuperación, es necesario reiniciar el sistema. Una vez arrancado, deberemos establecer una configuración especial en la línea de grub de arranque. Tened en cuenta que el método ya no es el mismo que utilizábamos para recuperar la contraseña olvidad de root en CentOS y RHEL 7. Tenéis que evitar que el sistema arranque automáticamente moviendo el cursor en la siguiente pantalla antes de que termine el contador de tiempo:

Grub RHEL CentOS 8

Ya en la ventana de grub, presionad la tecla e para editar la línea de kernel seleccionada (con la que iniciáis el sistema por defecto):

En el modo edición, hay que localizar la línea de parámetros del kernel. Veréis que comienza por «linux» e incluye la configuración de los volúmenes root y swap. Suele terminar también con los parámetros «rhgb» y «quiet». Lo que hay que hacer es añadir el parámetro rd.break al final:

Editar parametros GRUB RHEL CentOS

Una vez modificado, presionad ctrl + x para iniciar el sistema. Al momento, veréis que disponéis de una Shell bash en emergency mode (modo emergencia):

Modo emergencia RHEL CentOS 8

El siguiente paso es acceder al sistema, que se encuentra en el punto de montaje /sysroot para cambiar la password contraseña. Tened en cuenta que por defecto se monta en modo lectura (read-only), así que antes de hacer el chroot hay que remontarlo en modo escritura (rw):

sysroot read only

sysroot remount

Ahora ya podemos montar en chroot el punto de montaje y ejecutar dentro el comando passwd y generar una nueva contraseña para el usuario root:

Modo emergencia cambiar password root CentOS RHEL

Una vez hecho, salid del chroot, reiniciad el sistema y podréis acceder con la nueva contraseña del usuario root. Si tenéis SElinux activo, recordad forzar un autorelabel antes de reiniciar:

# touch /.autorelabel

Salir chroot CentOS RHEL