Si está preocupado por la seguridad (que debería estarlo), la respuesta aceptada representa un riesgo de seguridad al dejar la contraseña de texto sin formato en el ~/.bash_history
expediente. Con esto en mente, sería mejor intentar iniciar sesión, o quizás eliminar esta entrada del ~/.bash_history
.
Puede validar que una contraseña dada es correcta para un nombre de usuario dado usando el archivo shadow.
En la mayoría de las distribuciones modernas, las contraseñas codificadas se almacenan en el archivo shadow /etc/shadow (que solo puede leer root). Como root, extraiga la línea del archivo shadow para el usuario dado de la siguiente manera:
cat /etc/shadow | grep username
Verás algo como esto:
username:$1$TrOIigLp$PUHL00kS5UY3CMVaiC0/g0:15020:0:99999:7:::
Después del nombre de usuario hay $1. Esto indica que es un hash MD5. Después hay otro $, luego (en este caso) TrOIigLp seguido de otro $. TrOIigLp es la sal. Después de eso, está la contraseña codificada, que fue codificada usando la sal, en este caso PUHL00kS5UY3CMVaiC0/g0.
Ahora, puede usar openssl para codificar la contraseña dada usando la misma sal, así:
openssl passwd -1 -salt TrOIigLp
Ingrese la contraseña proporcionada cuando se le solicite, el comando openssl debe calcular el hash MD5 utilizando la sal provista, y debe ser exactamente igual que el anterior del archivo shadow. El -1 en el comando anterior es para hashing MD5.