El otro dĂa estaba trabajando en el mantenimiento de algunas mĂĄquinas virtuales (VM, Virtual Machine) y me pasĂł que no recordaba la password de Root ni de ningĂșn otro usuario. Oh! Pobre de mĂ, en quĂ© lĂo me metĂ! Âż!QuĂ© fue lo que hice!? ÂżEn quĂ© momento cambiĂ© la clave que no recuerdo? Luego siguieron algunos pensamientos que no puedo reproducir pero ustedes pueden imaginarseâŠ
Buscando en el blog encontré un viejo post del amigo elav para Cambiar la contraseña de root en Debian/LMDE. Lamentablemente a mi no me funcionó, asà que acå les paso otro método.
Bien, el caso es que no recordaba la clave y ademĂĄs la que tenĂa almacenada en el KeePassX no funcionaba, para ningĂșn usuario. Entonces despuĂ©s de darme por vencido por probar las mil y una claves que se me cruzaban por la cabeza simplemente me dignĂ© a hacer un reset a la password de Root desde GRUB para mi querido Debian.
Editando opciones de GRUB
El proceso es relativamente sencillo y lo Ășnico que necesitamos es tener GRUB instalado (sin mencionar que tenemos que tener el acceso para ver el arranque de la mĂĄquina, no?). En mi caso, me conectĂ© con el virt-manager (tengo las VMs con KVM) y reiniciĂ© la mĂĄquina, pero esto tambiĂ©n sirve para una mĂĄquina real.
Cuando el GRUB arranca tenemos que editar las opciones de arranque presionando la tecla e.
Ahora debemos editar las opciones con las que arranca el sistema. Nos movemos hasta la lĂnea que carga el kernel del sistema operativo. Es la lĂnea que comienza con linux:
echo 'Loading Linux 3.2.0-4-amd64 ...' linux /vmlinuz-3.2.0-4-amd64 root=/dev/mapper/seacat-root ro quiet
Y agregamos:
init=/bin/bash
DespuĂ©s de la palabra quiet. La lĂnea debe quedar:
linux /vmlinuz-3.2.0-4-amd64 root=/dev/mapper/seacat-root ro quiet init=/bin/bash
Una vez editado esto, nos basta con arrancar la mĂĄquina. Como dice en la imagen, con Ctrl+x o F10 arrancamos el sistema con estas opciones.
Esto nos devolverĂĄ un shell y podremos editar el archivo /etc/shadow.
Quitando la password de Root
En la cuarta lĂnea de la imagen nos aparece el prompt de la siguiente manera:
root@(none):/#
Lo primero que debemos hacer es remontar el filesystem para que tenga permisos de escritura. Para eso ejecutamos:
root@(none):/# mount -o remount rw /
Ahora sĂ, podemos proceder a editar con nano el archivo /etc/shadow.
El archivo /etc/shadow en la primera lĂnea tiene la informaciĂłn de root. Para cada lĂnea tenemos un conjunto de campos y Ă©stos estĂĄn separados por dos puntos (:).
El primer campo corresponde al nombre de usuario, el segundo campo es el hash correspondiente a la password. Lo que tenemos que hacer es borrar todos los caracteres para que quede sin password de root. Como se ve en la imagen:
Guardamos el archivo con Ctrl+o y salimos de nano con Ctrl+x. Ahora sĂłlo nos resta reiniciar la mĂĄquina. Cuando el sistema nos pida el login podremos ingresar como root sin tener que ingresar ninguna password.
Una vez que el sistema inicia, ingresamos como root y ahora sĂ podemos ejecutar passwd y seteamos una nueva password de root:
# passwd
Espero que les haya servido!