Cómo recuperar la contraseña de administrador, o root, en Linux desde Live CD o GRUB

Mensajes
150
Oro
26,805
linuxlogo1.png
Uno de los pilares fundamentales de Linux es su seguridad. Este sistema operativo, como otro cualquiera, hace uso de las contraseñas para evitar el acceso de usuarios no deseados al sistema. Cada usuario tiene su propia contraseña, además de un complejo nivel de privilegios que definen qué puede hacer, qué no y a qué partes del sistema operativo tendrá acceso y a cuáles no. Y por encima de todas las cuentas de usuario está la cuenta maestra, la cuenta de administrador: root.
La cuenta de root de los sistemas operativos Linux es la cuenta con mayor nivel de privilegios sobre el sistema. Esta cuenta es la equivalente a SYSTEM en los sistemas Windows, es la que tiene acceso a todo por encima de todo. Y, por lo tanto, es la que mejor se debe proteger, ya que todo aquel que tenga acceso a esta cuenta tendrá control total sobre el sistema operativo.
Si por algún motivo perdemos la cuenta de root, la verdad es que perderemos el control sobre nuestro ordenador. En caso de que esto ocurra, antes de optar por lo radical y reinstalar el sistema operativo (algo inviable en muchas situaciones), a continuación, os vamos a explicar cómo recuperar esta contraseña para recuperar el control sobre el PC.

Diferencias entre root, su y sudo​

Aunque para muchos estos 3 conceptos pueden parecerles lo mismo, en realidad hay bastantes diferencias entre ellos que debemos conocer.
El primero del que vamos a hablar es root. Root es la cuenta de superusuario de Linux, la que posee privilegios absolutos para hacer y deshacer en el sistema. Tan solo este usuario puede realizar configuraciones a bajo nivel, y es una de las medidas de seguridad y protección más básicas de los sistemas Linux. El resto de los usuarios siempre tendrán un nivel de privilegios inferior. Y, además, no se recomienda nunca iniciar sesión con este usuario, sino usarlo a través de otros comandos para ganar privilegios.
Su, por otro lado, es el acrónimo de «substitute user», es decir, nos permite cambiar de usuario sin cerrar sesión con el usuario actual. Este comando se utiliza cuando tenemos que ejecutar comandos con otro usuario con más privilegios (como root, por ejemplo) desde terminal, pero no queremos salir del nuestro. Con el comando «su», seguido del nombre del usuario, ejecutaremos los comandos directamente con su usuario.
Por último, vamos a hablar de sudo. Este comando, super user do, nos permite ejecutar programas y comandos con el nivel de privilegios de superusuario, pero con una serie de restricciones de seguridad definidas dentro de /etc/sudoers. Este es el comando más utilizado para trabajar con modo root, ya que es el más cómodo, sencillo y, por supuesto, recomendado.
Como vemos, al final el más importante de los tres es root. Los otros dos básicamente son «formas» de conseguir sus permisos. Si no conocemos, o hemos olvidado, la contraseña de root de cualquier distro Linux no podremos usar ni Su ni Sudo.

Motivos por los que no podemos acceder a Linux​

Uno de más comunes, como hemos explicado, es la pérdida de la contraseña. Esto ocurre a menudo si hemos configurado en nuestro ordenador una contraseña larga y compleja (bien hecho), pero hemos activado el inicio de sesión automático (mal hecho). Al no tener que introducirla todos los días, al final esta contraseña se acaba perdiendo. Y, por tanto, nos quedamos sin poder acceder a nuestro ordenador.
También puede ocurrir que hayamos creado varios usuarios, y que los que usamos a menudo sean usuarios con permisos limitados. Al estar acostumbrados a ellos, es posible terminar por olvidar la contraseña de root, o del usuario al que le hayamos dado más permisos. Y, de nuevo, nos quedaremos sin poder acceder a nuestro PC.
Por último, también puede ocurrir que el fichero de contraseñas se haya corrompido por algún motivo. Al estar este fichero corrupto, nos quedamos sin poder acceder a nuestras cuentas de usuario y, por lo tanto, tendremos que encontrar la forma de autenticarnos para poder volver a usar el PC.
Sea por el motivo que sea, a continuación, os explicamos cómo solucionarlo.

Cómo restablecer la contraseña de root en Linux​

Este proceso no es muy complicado, y podemos hacerlo de dos formas distintas: usando un Live CD o desde el gestor de arranque GRUB de nuestra distro.

Usar un Live CD para recuperar el control de Linux​

La primera de las recomendaciones que os vamos a hacer es recurrir a un Live CD de una distribución Linux para realizar esta tarea. Este método es el más sencillo, rápido e intuitivo que podemos usar para este proceso.
Lo primero que debemos hacer es crear un Live CD de Ubuntu en una memoria USB para poder arrancar el ordenador desde ella. También valdría con cualquier otra distro que tenga Modo Live.
Cuando arranquemos el ordenador, elegiremos la opción «Probar Ubuntu» y esperaremos a que cargue el sistema en la memoria RAM. Recordamos que el Modo Live no hace cambios en los discos duros, por lo que nuestros datos estarán seguros.

passrecover.webp


Una vez que tengamos ya nuestro Ubuntu cargado, el siguiente paso será abrir un terminal. Esto podemos hacerlo desde la lista de aplicaciones o con el atajo de teclado «Ctrl + Alt + T«.

Recuperar-contraseña-administrador-root-Linux-2.webp


Una vez tengamos el terminal delante, ejecutamos el siguiente comando para conseguir los privilegios de root en Ubuntu Live:

Bash:
sudo su

El siguiente paso será identificar la partición en la que tenemos instalado nuestro Linux. Para ello, ejecutamos el siguiente comando:

Bash:
fdisk -l

En nuestro caso es /dev/sda. Ahora el siguiente paso es montar la partición del sistema para poder trabajar con ella usando los siguientes comandos.

Bash:
mkdir /mnt/recover

Bash:
mount /dev/sda1 /mnt/recover

pass23.webp


Ya tenemos el Linux al que no podemos acceder dentro del Live Linux que acabamos de montar. Ahora ejecutaremos el siguiente comando para empezar a trabajar sobre este directorio:

Bash:
chroot /mnt/recover

Ahora ejecutamos el siguiente comando para cambiar la contraseña de root en nuestro Linux:

Bash:
passwd root

Si queremos cambiar la contraseña de cualquier otro usuario, podemos usar el mismo comando, pero cambiando «root» por el nombre del usuario en cuestión.

Ya hemos cambiado la contraseña de root. Ahora solo nos queda ejecutar «exit» para salir del chroot, el comando «umount /mnt/recover» para desmontar la partición del sistema que hemos montado y de nuevo «exit» para salir de root.

Ahora reiniciamos el ordenador y listo. La nueva contraseña de root ya está disponible para poder trabajar con ella.

Recuperar la contraseña de administrador desde GRUB​

Si no tenemos una imagen Live de Ubuntu a mano y necesitamos recuperar la contraseña urgentemente, hay otra forma de hacerlo: a través de GRUB.

Para ello, reiniciaremos el ordenador, pero, en vez de entrar en nuestro Linux, nos quedaremos en el gestor de arranque, que probablemente sea GRUB. En él, seleccionaremos la opción «Opciones avanzadas para Ubuntu«. Y en la nueva pantalla que nos aparecerá elegiremos una de las entradas «Recovery Mode» que aparecerán.

opcionesavanzadas.webp


Veremos el menú de recuperación de nuestro Linux. De todas las opciones que aparecen, la que nos interesa es la marcada como «root», ya que nos permitirá abrir una consola de superusuario.

consola.webp


Ya estamos dentro de una consola de recuperación con permisos de superusuario. Lo primero que haremos será montar la raíz de nuestro Linux con permisos de escritura (ya que por defecto solo tiene permiso de lectura) para poder trabajar con ella:

Bash:
mount -o rw,remount /

Una vez hecho esto, ya solo nos queda usar el comando passwd para cambiar la contraseña de nuestro Linux:

Bash:
passwd root

Listo. Ahora ejecutaremos los comandos «sync» y «reboot» para que los cambios terminen de aplicarse en el disco duro y reiniciar el ordenador.

Cuando arranque el sistema, ya podremos usarlo con la nueva contraseña de root que acabamos de establecer.

Protege Linux si tienes Dual Boot​

Otra forma de la que pueden tomar el control de nuestro Linux es desde otro sistema operativo. Aunque tengamos nuestra distro correctamente configurada para evitar que nada ni nadie pueda entrar a ella sin permiso, siempre está la opción de entrar por otro lado. Por ejemplo, pueden extraer el disco duro del PC y montarlo en otro PC, o, si tenemos Dual Boot, acceder a él desde el otro sistema operativo, ya sea Windows o Linux.

Por muchos permisos que configuremos, si la otra persona intenta entrar en los datos de Linux desde Windows (usando WSL, o un programa para leer EXT), podrá hacerlo sin prácticamente problemas. No hay forma sencilla de protegernos en este sentido. Una vez dentro, podría modificar el fichero passwd y conseguir una cuenta de superusuario en Linux.

Por tanto, si realmente queremos proteger nuestros datos y nuestro disco duro, y evitar que nada ni nadie pueda tomar el control de dicha cuenta, lo único que nos queda por hacer es recurrir a técnicas de cifrado. De esta manera, sin la clave, no podrá acceder al disco duro.

SIGUEME, PARA MAS CONTENIDO COMO ESTE
 
Atrás
Arriba