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.
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
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/
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
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
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
Luego pégala en lugar de la anterior:
$ vi /etc/passwd
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
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:
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
:
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.
Apply the discount by inserting the promo code in the special field at checkout:
Apply the discount by inserting the promo code in the special field at checkout: