Reset al password de Root desde GRUB (Debian)

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.

Para almacenar mis claves utilizo, despuรฉs de la recomendaciรณn de mi amigo Facundo, el KeePassX un excelente gestor de usuarios y contraseรฑas que es multiplataforma y por supuesto Software Libre!

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.

grub

GRUB Boot

Cuando el GRUB arranca tenemos que editar las opciones de arranque presionando la tecla e.

Editando opciones de GRUB

Ediciรณn opciones de GRUB

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
Lo que viene detrรกs de vmlinuz dependerรก de la versiรณn del kernel que tengan instalado. Asรญ como tambiรฉn lo que aparece despuรฉs de root= dependerรก de cรณmo ustedes tienen instalado el sistema en su filesystem.

Y agregamos:

init=/bin/bash

Cuidado porque seguramente el mapa del teclado es el inglรฉs por defecto y para nosotros los hispano-parlantes nos cambia algunos sรญmbolos.

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

La contrabarra que se ve en la imagen aparece automรกticamente para indicar que lo que estรก escrito abajo es parte de la misma lรญnea anterior.

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

shell despuรฉs editar grub

Shell despuรฉs de editar GRUB.
Como no tenemos un sistema completamente funcional veremos que en este caso bash tira algunos errores y de hecho tampoco limpia la pantalla. Pero no importa, porque para lo que lo necesitamos alcanza.

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.

Cuando abramos nano posiblemente nos tire tambiรฉn algunos errores. Pero no lo tenemos en cuenta y presionando Enter continuamos.

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:

/etc/shadow sin password de root

Archivo /etc/shadow modificado sin password de root.

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.

Como hemos iniciado un shell que no estรก ยซbien cargadoยป para reiniciar la mรกquina tendremos que hacer un hard reset, es decir, presionar el botรณn de reset o en mi caso mandar la seรฑal de Force Reset.
Login sin password de root

Login sin password de root

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!

KeePassX

Sitio Oficial KeePassX

Deja tu comentario

Tu direcciรณn de correo electrรณnico no serรก publicada. Los campos obligatorios estรกn marcados con *

*

*

  1. Responsable de los datos: Miguel รngel Gatรณn
  2. Finalidad de los datos: Controlar el SPAM, gestiรณn de comentarios.
  3. Legitimaciรณn: Tu consentimiento
  4. Comunicaciรณn de los datos: No se comunicarรกn los datos a terceros salvo por obligaciรณn legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu informaciรณn.

      Litos523 dijo

    Este es uno de esos artรญculos que hay que tener a mano, para cuando ocurre una catastrofe. ยกQue antes o despues ocurren!

    Yo lo solucione de una manera bastante parecida, pero sin tener que tocar el fichero shadows. En mi blog os cuento como lo hice.

    http://unbrutocondebian.blogspot.com.es/2014/03/restablecer-la-contrasena-de-root.html

         nexus6 dijo

      HOLA LITOS,SOY MEGAFAN DE TU BLOG!!!!

         eliotime3000 dijo

      Muy bue tuto. Me gustรณ cรณmo hiciste para reestablecer la contraseรฑa de root.

      nexus6 dijo

    ESTO ES UNA FALLA DE SEGURIDAD TERRIBLE!!!….en caso de que sรญ funcione.
    ยฟCรณmo hacer para evitarlo?ยฟTienen alguien alguna idea?

         Litos523 dijo

      No es un fallo de seguridad, es una manera de poder recuperar el sistema ante un problema grave como es olvidar la contraseรฑa de administrador.

      Por ello los CPD tienen acceso restringido, para evitar que puedas llegar a toquetear con grub. Pero si prevees que esto no es suficiente o no se puede limitar el acceso, entonces debes proteger grub

      https://blog.desdelinux.net/como-proteger-grub-con-una-contrasena-linux/

           Dhall dijo

        Tranquilos, en la vida nada es seguro! solo hay que estar al tanto de todo, estar actualizando, monitoreando ! ๐Ÿ™‚

         cris dijo

      Concuerdo con el parcero, esto permite a cualquiera acceder a nuestra pc, grave, no?

         eliotime3000 dijo

      ยฟFallo de seguridad? Es como si dijeras que la opciรณn reestablecer contraseรฑa de tu correo electrรณnico fuese peligroso.

         mario dijo

      siguiendo el particionado clรกsico, y cifrando algunas particiones/carpetas con informaciรณn personal, separando /root /home /usr /var /boot y tantos puntos de montaje que ahora estรกn en una particiรณn.

      Josรฉ Leonel Subero dijo

    Saludos compaรฑeros, muy buen blog y muy buena guia, querรญa aclararles que este paso root@(none):/# mount -o remount rw / no es necesario en sistemas basados en debian y muchos sistemas basados en Red Hat, y solo unas pocas distros basadas en Gentoo son las que requieren ese paso, simplemente con correr passwd luego de realizar los pasos que describen para ingresar al sistema sin contraseรฑa de root

      ivanbarram dijo

    Muy buen tutorial, como dicen mรกs arriba, en caso de catรกstrofe saca de apuros, pero esto casi siempre se evita con un buen control de cambios.

    Gracias por compartir.

    Saludos.

      cristianhcd dijo

    a favoritos o a marcadores =D

      Rainbow_fly dijo

    Entonces basicamente si alguien quiere acceder a mi pc, solo tiene que reiniciarla, acceder a grub, toquetear y listo.

         eVeR dijo

      Si, a menos que protejas con contraseรฑa el Grub, cosa que se puede hacer tranquilamente.

      anonimo dijo

    No se asusten, si el malo de la pelรญcula tiene acceso fรญsico al computador y sabe algo, es inevitable que logre sus propรณsitos.
    Este mรฉtodo de grub facilita un poco lo que siempre se pudo hacer con chroot desde un live-cd/dvd.
    Pero si cambian la contraseรฑa del root el usuario dueรฑo del pc, se dara cuenta porque no podrรก mas entrar.
    Lo jodido serรญa que alguien entre por chroot desde un live-cd/dvd y se haga una copia en un pendrive del archivo /etc/shadow para divertirse con john-the-rupper en su propio computador, serรญa jodido porque no te enterarรญas si te han crackeado tus contraseรฑas de root y usuarios.

      whay dijo

    compa muchas gracias me sirviรณ mucho

      SomFug dijo

    Hola, por lo que puedo apreciar, tu supones que todo el que lea tu tutorial debe ser sino experto al menos avanzado en el manejo de linux, pero y si no lo es!!!!! entonces me pregunto quรฉ es eso de nano, y como lo abro, con que comando y donde coloco ese comando. El archivo /etc/shadow,donde esta ese archivo y como llego hasta esa carpeta para poder hacer lo que dice este tutorial. ยซOJOยป no critico el tutorial, al contrario, estรก muy bueno, excelente, pero debes pensar tambiรฉn en aquellos que no sabemos (me incluyo) mucho sobre el manejo de comandos en linux. Explico, supuse que escribiendo nano se abrirรญa el editor y lo hizo, pero despues no supe como llegar al /etc/shadow estando en nano. Y disculpen el resto de usuarios, pero no todos somos expertos, muchos solo somos entusiastas aprendices…. mรกs detalle… Gracias…

      pedrojasper dijo

    genial hoy me paso algo similar y sabia que mediante el grub se hace y creme varias veces lo hice pero mucho mas complicado
    en este tuto lo explica muy simple lo voy a aplica si se puede esta semana
    gracias por tu aporte mil felicictaciones

      jorge dijo

    BUE – Nร – SI – MO.
    Me ha salvado de volver a formatear Debian.

    Esto tambiรฉn vale para Debian 8, que es con lo que lo he probado.

    Muchรญsimas gracias.

      Jeane dijo

    No me funciono, sigo con el mismo problema, no se si tenga que ver el echo de que instale debian en modo grafico en virtualbox, quisier aque me ayudaras :/,

      hmamani dijo

    Buenรญsimo! habรญa formateado un note con debian 8 y me vino de perilla cuando olvidรฉ la pass. Concuerdo con que no sea un ยซfalloยป, de todas maneras creo que los sistemas de seguridad que proponen son bien fuertes. Sobre el usuario que tiene dudas, bueno, mรกs que decir ยซsupones que todos somos expertosยป, podrรญa simplemente colocar las dudas, sin prejuicios ;-D.

    Muchas gracias por compartir!
    pd: yo sรญ tuve que realizar el paso del mount, habรญa editado la pass desde mi puppy linux, jeje, pero aรบn asรญ debรญa ingresar a las opciones del grub para aplicar el passwd (ni modo!)

      Pepper dijo

    Hola, primero, muchas gracias por el aporte es justo lo que necesitaba para no reinstalar Debian 8, pero tengo un problema mas grave, y esque cuando hago todo el proceso e inicia en modo bash el S.O. no funciona el teclado… ni lo detecta, ni funciona las luces del teclado ni nada de nada, asi que no puedo cambiar nada desde bash modo root.

    PD: por si sirve de algo tuve un problema similar cuando instale debian, instale el gestor de arranque grub en otra particion independiente y debian en otra particion, esto ya lo experimente antes con otraos sistema sy me funcionaba siempre, en este caso con debian no, y esque cuando iniciaba debian recien instalado a la interfaz grafica no funcionaba el teclado ni el raton, justo cuando tienes que poner la contraseรฑa para iniciar sesion.
    MUCHAS GRACIAS DE ANTEMANO POR AYUDAR A LOS DEMAS, UN SALUDO.

      MEDB dijo

    Muchas gracias por el aporte. Soluciรณn rรกpida y efectiva ๐Ÿ˜‰

         Celeste de la Cal dijo

      Gracias! Me salvaste! ;D

      gineth dijo

    hola todos necesito ayuda hice todo el proceso hasta donde tenia que escribir r mount -o remount rw / pero una de las cosas quedo mal, y luego he intentado pero solo llega hasta donde escribo init=/bin/bash le doy ctrl + x, y de ahi salen algunas letras pasan rapido pero no llega a la pantalla de r mount -o remount rw / que tengo que hacer?

      goth14wx dijo

    Muchas gracias por este tutorial, en serio me fue de mucha utilidad, en debian 9 no me dejaba entrar como usuario root y con esto se soluciono, una vez mas gracias.

      Christian dijo

    Perfecto el Tuto muy bueno sos un capo !

      Bastian dijo

    Hola.
    Yo lo he intentado aplicando este mรฉtodo pero no me ha funcionado.
    El problema estรก en que, aunque podamos editar el archivo ยซshadowยป, no lo podemos guardar. Al editarlo sin tener privilegios lo abre en modo sรณlo lectura.

    Saludos.

         btzk dijo

      [quote]Lo primero que debemos hacer es remontar el filesystem para que tenga permisos de escritura. Para eso ejecutamos:

      root@(none):/# mount -o remount rw /[quote]
      creo que para eso es que hay que remontar el fs.
      creo recordar que para W tambien habia una manera de acceder a los usuarios y modificar o quitar contraseรฑa, por medio de un livecd.

      Eric dijo

    Paso a dejar mi agradecimiento, como corresponde. Me sacaste de un gran apuro. Revisรฉ otros blogs y esta soluciรณn era la mรกs completa y mejor explicada.