Cómo cambiar (resetear, reset) la contraseña del superusuario root en Linux CentOS 7 cuando se nos ha olvidado o no la sabemos. Explicamos paso a paso cómo recuperar el acceso con el usuario root en un equipo con el sistema operativo Linux y la distribución CentOS 7.

Escenario inicial, no se sabe la contraseña de root

¿A quién no le ha ocurrido que tras establecer una contraseña para el superusuario root se haya olvidado al poco tiempo? ¿Y cuando introducimos una contraseña con el bloqueo de mayúsculas activado o el bloqueo de números desactivado involuntariamente? En el primer arranque nos daremos cuenta de que no sabemos la contraseña del usuario root y no podemos iniciar sesión en el equipo.

También se puede dar el caso de que un administrador de sistemas deje la empresa y no diga las contraseñas de los usuarios administradores o bien que las haya cambiado.

Este proceso sirve para todas estas situaciones en las que, por el motivo que sea, no sabemos la contraseña del superusuario root.

Requisitos necesarios para resetear la contraseña de root en Linux CentOS 7

Necesitaremos un equipo con el sistema operativo Linux CentOS 7 y necesitaremos ver su secuencia de arranque (desde el inicio), dado que tendremos que elegir el modo de arranque y cambiar unos valores.

En principio no necesitamos más requisitos, solo acceso al equipo desde el arranque, o bien con un monitor conectado al equipo (si es físico) o bien con la consola de VMware (u otro hipervisor del sistema de virtualización que usemos).

Es conveniente hacer una copia de seguridad de la máquina virtual antes de iniciar este proceso, puesto que se modifica el boot de inicio y podríamos provocar un fallo en el arranque. O bien hacemos un snapshot (si está virtualizado) o bien una copia de seguridad del equipo completo.

Resetear/Modificar la contraseña del superusuario root en Linux CentOS 7 cuando se nos ha olvidado o la hemos perdido

Apagaremos el equipo por completo, en el caso de una máquina virtual abriremos la consola de VMware (o del sistema de virtualización que estemos usando). En nuestro caso, como la máquina virtual tiene las VMware Tools instaladas, podremos apagarla de forma controlada pulsando en «VM» – «Power» – «Shut Down Guest»:

Resetear/Modificar la contraseña del superusuario root en Linux CentOS 7 cuando se nos ha olvidado o la hemos perdido

Una vez apagada la iniciaremos pulsando en el botón «Power On»:

Resetear/Modificar la contraseña del superusuario root en Linux CentOS 7 cuando se nos ha olvidado o la hemos perdido

Pulsaremos dentro de la consola con el ratón para pasar el puntero del teclado a la máquina virtual. En cuanto aparezca las opciones de arranque pulsaremos la tecla de cursor arriba o abajo para. Dejaremos seleccionada la primera opción y pulsaremos la tecla «e» para editar el arranque:

Resetear/Modificar la contraseña del superusuario root en Linux CentOS 7 cuando se nos ha olvidado o la hemos perdido

Buscaremos la línea con el texto ro rd.lvm…, posicionando el cursor en ro:

Resetear/Modificar la contraseña del superusuario root en Linux CentOS 7 cuando se nos ha olvidado o la hemos perdido

Lo que haremos será reemplazar el ro por el siguiente texto:

rw init=/sysroot/bin/sh

De forma que quedará:

…..root rw init=/sysroot/bin/sh lvm.lv…..

Quedando:

Resetear/Modificar la contraseña del superusuario root en Linux CentOS 7 cuando se nos ha olvidado o la hemos perdido

Nota: si no podemos poner el signo = podemos usar su correspondiente valor ASCII, para escribirlo pulsaremos ALT + 61. Igual ocurre con la /, si no nos aparece podemos escribirla con ALT + 47.

Pulsaremos «Control + X» para guardar los cambios e ir a la línea de comandos.

Escribiremos el siguiente comando:

chroot /sysroot

Resetear/Modificar la contraseña del superusuario root en Linux CentOS 7 cuando se nos ha olvidado o la hemos perdido

Y este otro para cambiar la contraseña del usuario root:

passwd root

Nos pedirá la nueva contraseña dos veces:

Resetear/Modificar la contraseña del superusuario root en Linux CentOS 7 cuando se nos ha olvidado o la hemos perdido

Actualizaremos los parámetros de SELinux con este comando:

touch /.autorelabel

Y reiniciaremos el equipo con:

reboot

Resetear/Modificar la contraseña del superusuario root en Linux CentOS 7 cuando se nos ha olvidado o la hemos perdido

Se iniciará el arranque por defecto:

Resetear/Modificar la contraseña del superusuario root en Linux CentOS 7 cuando se nos ha olvidado o la hemos perdido

Y ya podremos acceder con la nueva contraseña del superusuario root:

Resetear/Modificar la contraseña del superusuario root en Linux CentOS 7 cuando se nos ha olvidado o la hemos perdido