# rm-rf.es

Restaurar password de root en CentOS 7

Si has olvidado o perdido la contraseña de root en CentOS 7 o RHEL 7 debes tener en cuenta que el modo de regenerar la password difiere un poco respecto a como se hacía en CentOS 6 y RHEL 6.

La mayor parte del proceso sigue siendo el mismo: en el momento en el que el sistema arranca y tenemos el menú de GRUB, debemos modificar la línea de kernel de arranque y modificar los parámetros para que el sistema inicie en «modo emergencia» sin solicitar la clave de root y con la posibilidad de modificarla. En versiones anteriores si entrabamos en modo «single user» o «emergency» se podía hacer esta tarea pero ahora pide usuario y password de acceso así que hay que usar otro modo.

El primer paso es llegar, durante el arranque, hasta el menú de GRUB:

Nos posicionamos sobre la línea de arranque habitual y pulsamos la tecla «e» para editar la entrada de grub correspondiente. En anteriores versiones sólo se modificaba la línea de kernel pero ahora muestran toda la configuración y parámetros:

Bajamos un poco hasta llegar a la línea de kernel, debemos añadir al final de la línea el parámetro init=/bin/sh para evitar arrancar con «init» y así poder modificar la contraseña. Eliminamos también los parámetros rhgb y quiet para ver el arranque completo por pantalla:

Una vez modificada la línea y los parámetros, pulsamos CTRL + x para arrancar el sistema. Cuando haya arrancado tendremos disponible una shell:

sh-4.2#

Todavía no podemos cambiar la contraseña de root porque el filesystem es read-only (modo lectura):

sh-4.2# passwd
Changing password for user root.
New password: ********
Retype new password: ********
passwd: Authentication token manipulation error

Tenemos que montar el filesystem raíz (/) con lectura y escritura:

sh-4.2# mount -o remount,rw /

Volvemos a probar y ya debería dejarnos cambiar la password de root:

sh-4.2# passwd
Changing password for user root.
New password: ********
Retype new password: ********
passwd: All authentication tokens updated successfully

Y ya hemos cambiado la contraseña de root sin conocer la password actual. Ya podemos reiniciar el sistema normalmente.

Ojo, si tenéis SELinux activo hay que forzar un autorelabel en el próximo reinicio para evitar inconsistencias en el etiquetado de ficheros:

sh-4.2# touch /.autorelabel
Salir de la versión móvil