Métodos de pago Abuse

Restablecer una contraseña en Linux

19.05.2021, 22:32

Todo usuario ha olvidado al menos una vez contraseñas de sitios web, redes sociales que no ha utilizado durante mucho tiempo. Una situación similar puede ocurrir con una distribución de Linux. No es difícil olvidarla, especialmente si hay muchas distribuciones diferentes con distintas contraseñas. A continuación, vamos a hablar de qué hacer si se ha olvidado su contraseña de Linux, cómo restablecerla correctamente y no borrar sus datos. Restablecer una contraseña de Linux no es una tarea muy difícil. Pero debe quedar claro que no puedes averiguar tu contraseña, sólo puedes restablecerla.

Restablecer la contraseña usando LiveCD

Para resetear la contraseña, necesitas armarte con un disco LiveCD con cualquier distribución de Linux, sólo es importante que coincida la capacidad de bits del sistema a recuperar y el sistema del disco. Lo mejor es tomar las últimas versiones de las distribuciones. Son más cómodas para trabajar, aunque incluso Gentoo y ArchLinux servirán.

A continuación, arranca desde el disco LiveCD y abre el terminal. Si el disco arranca en un shell de comandos sin interfaz gráfica, no pasa nada. Necesitas saber en qué disco duro se encuentra el sistema de archivos raíz de la distribución que vas a instalar. Puede ver todos los discos disponibles con el comando:

$ fdisk -l

Restablecer una contraseña en Linux

Por regla general, el nombre del disco empieza por las letras sd para los discos normales y nvme para los M.2 SSD. La partición raíz es pequeña si se asignó una partición separada para la carpeta de inicio durante la instalación y tiene un sistema de archivos Linux. Si no se hizo una partición separada para el gestor de arranque, la partición raíz también estará marcada con un asterisco como arrancable. Por ejemplo, esta es /dev/nvme0n1p1. Debería montarse en /mnt:

 $ mount /dev/nvme0n1p1 /mnt/

Restablecer una contraseña en Linux

Así que podemos ver /dev/nvme0n1p1 - la partición donde se instaló el sistema. También podría ser /dev/sda1 o /dev/sdb5. A continuación, entra en el entorno chroot:

$ chroot /mnt /bin/bash

Restablecer una contraseña en Linux

Ahora nos encontramos en el entorno de la distribución que está instalada en el disco montado. Se trata de una variante del modo de recuperación sin iniciar el sistema operativo.

A continuación, el usuario puede establecer la contraseña del usuario root de linux mediante el comando passwd:

$ passwd root

Restablecer una contraseña en Linux

Es posible que la utilidad dé un error, pero si no ha dado ningún error, la contraseña se ha actualizado correctamente y puede utilizar su sistema.

Hay otra forma más. Las contraseñas de todos los usuarios se almacenan en el archivo /etc/shadow así:

user_name:encrypted password:user_id:group id_id

Por ejemplo:

root:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:0:0:::::
bin:!!:9797:0:::::
daemon:!!:9797:0:::::

Para cada entrada, todos los parámetros están separados por dos puntos, el primer parámetro (root) es el nombre de usuario, el segundo parámetro (AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...) es el hash de la contraseña. Para cambiar la contraseña por la deseada, primero debes crear manualmente su hash. Para ello, puedes utilizar este comando:

$ openssl passwd -1 -salt xyz new_password

Restablecer una contraseña en Linux

Luego pégala en lugar de la anterior:

$ vi /etc/passwd

Restablecer una contraseña en Linux

No es posible eliminar por completo la contraseña de Linux, sin ella no podrás autorizarte en el sistema, por lo que la mejor opción es sustituirla por una nueva. Después de reemplazarla, guarda los cambios y listo. Antes de reiniciar, no olvides salir de chroot y desmontar la raíz del sistema:

$ exit
$ umount /mnt

Restablecer la contraseña con Grub

Si no tienes un disco a mano, puedes usar Grub para este propósito. En el menú de opciones de arranque, pulsa E para editar los parámetros del kernel:

Restablecer una contraseña en Linux

Aquí en la línea vmlinuz en después de todos los parámetros (ver captura de pantalla) necesitas añadir el parámetro init=/bin/bash:

Restablecer una contraseña en Linux

Pulse Ctrl+D para continuar el arranque. Una vez finalizada la inicialización, el kernel pasará el control al comando bash shell que pasamos en los parámetros del kernel donde podrás recuperar la contraseña. Por defecto el sistema de ficheros está montado en modo sólo lectura, para poder cambiar cualquier cosa necesitas volver a montarlo para escritura:

$ exit

$ umount /mnt

El resto de acciones con el fichero /etc/shadow son similares al primer punto.