Recuperar la contraseña de root

Cómo recuperar la contraseña de root en Linux

 
 

Índice General

  1. Introducción
  2. ¿Cómo restablecer la contraseña de root?
  3. ¿Cómo evitar la recuperación de la contraseña de root?

 

  1. Introducción (Volver al índice General)
    Linux es un sistema multiusuario en el que cada usuario tiene su contraseña y su nivel de acceso dentro del sistema. En sistemas UNIX/Linux, el root es el administrador del sistema, el usuario de mayores privilegios dentro del sistema y cuando se extravía u olvida la contraseña de root, el sistema queda sin administrador y perdemos el control total del mismo.

    La cuenta de root es la más importante del sistema y por cuestiones de seguridad la que mejor debemos proteger.

    Si perdemos la cuenta de root, perdemos el control de nuestro sistema. Si esto ocurriese, antes de optar por reinstalar todo el sistema, os aconsejamos que leáis este artículo en el que veremos dos métodos para recuperar la contraseña de root en Linux.

    Estos dos métodos son válidos en sistemas no altamente protegidos, es decir, en aquellos en los que se ha dejado la puerta abierta al sistema a través de GRUB o mediante el uso de un LiveCD.

    Para finalizar el artículo, veremos algunas técnicas para reforzar la seguridad en el acceso físico al sistema como root, impidiendo la recuperación de la cuenta de root por parte de un intruso.

  2.  

  3. ¿Cómo restablecer la contraseña de root? (Volver al índice General)
    Como hemos dicho en el apartado anterior, veremos dos métodos de recuperación y empezaremos por el menos aparatoso.

       

    • Mediante el uso GRUB (Volver al índice General)
      Los pasos a seguir son los siguientes:

      1. Reiniciamos el equipo.
      2. Una vez que aparecen las opciones del cargador de arranque GRUB, con los botones de flecha arriba o abajo, nos situamos en la opción «*Debian GNU/Linux», y una vez situados, presionamos la letra «e» para entrar en modo edición.
        GRUB: Selección del sistema
        Haz clic en la imagen para aumentarla
      3. Buscamos la línea que comienza con la palabra «Linux». En esa línea, tenemos que buscar la palabra «ro» y cambiarla por «rw», y añadimos al final de la línea lo siguiente «init=/bin/bash».
        GRUB: buscar opciones de arranque
        Antes
        Haz clic en la imagen para aumentarla
        GRUB: editar opciones de arranque
        Después
        Haz clic en la imagen para aumentarla
      4. Presionamos F10 o Ctrl-x para arrancar el sistema con los cambios realizados.
      5. Una vez estemos en la consola, montamos el sistema de archivos raíz en modo lectura y escritura con el siguiente comando:
        root@(none):/# mount -n -o remount,rw /

        Veamos las opciones:

        • -n, –no-mtab: Montar sin escribir en /etc/mtab. Esto es necesario, por ejemplo, cuando /etc está en un sistema de archivos de solo lectura.
        • -o: Se utiliza para especificar las opciones de montaje, que en nuestro caso son:
          • remount: Se utiliza para intentar remontar un sistema de ficheros ya montado. Esto se emplea comúnmente para cambiar las opciones de montaje en un sistema de ficheros, especialmente para que se pueda escribir en un sistema de ficheros que estaba en modo solo lectura.
          • rw: Montar el sistema de ficheros en modo lectura y escritura.
      6. El siguiente paso será restablecer la contraseña de root. Para hacerlo, ejecutamos el siguiente comando:
        root@(none):/# passwd root

        Alternativamente, podemos cambiar la contraseña de cualquier otro usuario del sistema:

        root@(none):/# passwd nombre_usuario
      7. Finalmente salimos de la terminal y reiniciamos el sistema con el siguiente comando:
        root@(none):/# exec /sbin/init

      Si todo ha salido bien, ya tenemos nueva contraseña para el root o alternativamente, para cualquier usuario del sistema.


    •  
       
       

    • Mediante el uso de un LiveCD (Volver al índice General)

      Nota: Las pruebas se han hecho en un PC con sistema Debian 10 instalado y hemos utilizado el LiveCD de Debian 10.

      Los pasos a seguir son los siguientes:

      1. Arrancamos nuestro equipo con un LiveCD, LiveDVD o LiveUSB.

        En ZeppelinuX hemos publicado estos artículos relacionados con la creación de un USB autoarrancable:

      2. Seleccionamos la opción LiveCD del menu. En nuestro caso podemos optar por una de estas dos opciones:
        • Seleccionar la opción LiveCD por defecto:
          Seleccionar la opción LiveCD por defecto en Debian
          Haz clic en la imagen para aumentarla
        •  

        • Seleccionar la opción LiveCD que nos permite elegir el idioma:
          Seleccionar la opción LiveCD que permite seleccionar el idioma
          Haz clic en la imagen para aumentarla
          En nuestro caso elegiremos el idioma español:
          Seleccionar el idioma del LiveCD
          Haz clic en la imagen para aumentarla
      3. Una vez en el escritorio abrimos una terminal.
        Abrir una terminal desde el LiveCD
        Haz clic en la imagen para aumentarla
      4. Desde la terminal, nos hacemos con los privilegios de root con el siguiente comando:
        user@debian:~$ sudo su
      5. El siguiente paso será identificar la partición de sistema de nuestro equipo, en la que tenemos instalado nuestro Linux. Para ello, ejecutamos el siguiente comando:
        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        13
        14
        15
        16
        17
        18
        19
        
        root@debian:/home/user# fdisk -l
        Disco /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectores
        Modelo de disco: VMware Virtual S
        Unidades: sectores de 1 * 512 = 512 bytes
        Tamaño de sector (lógico/físico): 512 bytes / 512 bytes
        Tamaño de E/S (mínimo/óptimo): 512 bytes / 512 bytes
        Tipo de etiqueta de disco: dos
        Identificador del disco: 0x71baebc9
         
        Disposit.  Inicio Comienzo    Final Sectores Tamaño Id Tipo
        /dev/sda1  *          2048 37750783 37748736    18G 83 Linux/dev/sda2         37752830 41940991  4188162     2G  5 Extendida
        /dev/sda5         37752832 41940991  4188160     2G 82 Linux swap / Solaris
         
         
        Disco /dev/loop0: 2 GiB, 2113794048 bytes, 4128504 sectores
        Unidades: sectores de 1 * 512 = 512 bytes
        Tamaño de sector (lógico/físico): 512 bytes / 512 bytes
        Tamaño de E/S (mínimo/óptimo): 512 bytes / 512 bytes

        En nuestro caso, según la línea 11 la partición de sistema de nuestro equipo es /dev/sda1.

        Ahora tenemos que montar la partición de sistema para poder trabajar con ella, para lo cual, seguiremos con los siguientes comandos.

      6. Creamos una carpeta para montar en ella la partición:
        root@debian:/home/user# mkdir /mnt/temporal
      7. Montamos la partición de sistema en la carpeta recién creada:
        root@debian:/home/user# mount /dev/sda1 /mnt/temporal
      8. Ejecutamos el siguiente comando para empezar a trabajar sobre este directorio:
        root@debian:/home/user# chroot /mnt/temporal

        Nota: chroot es el proceso por el que se cambia el directorio raíz del disco aparente a otro directorio raíz.

      9. El siguiente paso será restablecer la contraseña de root. Para hacerlo, ejecutamos el siguiente comando:
        root@debian:/# passwd root

        Alternativamente, podemos cambiar la contraseña de cualquier otro usuario del sistema:

        root@debian:/# passwd nombre_usuario
      10. Ejecutamos exit para salir del chroot:
        root@debian:/# exit
      11. Ejecutamos el comando umount /mnt/temporal para desmontar la partición del sistema que hemos montado:
        root@debian:/home/user# umount /mnt/temporal
      12. Ejecutamos de nuevo exit para dejar de ser root:
        root@debian:/home/user# exit
        exit
        user@debian:~$
      13. Finalmente, reiniciamos el ordenador

       
      Si todo ha salido bien, ya tenemos nueva contraseña para el root o alternativamente, para cualquier usuario del sistema.


  4.  
     
     

  5. ¿Cómo evitar la recuperación de la contraseña de root? (Volver al índice General)
    En principio, si no hacemos algo para evitarlo, cualquiera que tenga acceso físico a nuestro equipo, podrá restablecer la contraseña de root y acceder a nuestros preciados datos.

    Existen varias técnicas para aumentar la seguridad de nuestro sistema. A continuación os listamos algunas de ellas:

 

Espero que este artículo os haya sido de utilidad. Si pensáis que podéis colaborar para mejorar este artículo, que hay algo erróneo en él o simplemente deseáis comentarlo, por favor, dejad vuestra opinión más abajo.
  Configuración de privacidad y de cookies.
Seguir J. Carlos:

Técnico Informático - Desarrollo Web - Administración de Redes

Técnico Informático. Desarrollo Web. Administración de redes.

Últimas publicaciones de

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.