Pregunta:
Necesito editar /etc/shadow
manualmente para cambiar la contraseña de root dentro de una imagen de máquina virtual.
¿Existe una herramienta de línea de comandos que tome una contraseña y genere un hash de contraseña compatible con /etc/shadow
en la salida estándar?
Respuesta:
Puede usar los siguientes comandos para lo mismo:
Método 1 (md5, sha256, sha512)
openssl passwd -6 -salt xyz yourpass
Nota: pasar -1
generará una contraseña MD5, -5
una SHA256 y -6
SHA512 (recomendado)
Método 2 (md5, sha256, sha512)
mkpasswd --method=SHA-512 --stdin
La opción --method
acepta md5
, sha-256
y sha-512
Método 3 (des, md5, sha256, sha512)
Como sugirió @tink, podemos actualizar la contraseña usando chpasswd
usando:
echo "username:password" | chpasswd
O puede utilizar la contraseña cifrada con chpasswd
. Primero generelo usando esto:
perl -e 'print crypt("YourPasswd", "salt", "sha512"),"\n"'
Luego, más tarde, puede usar la contraseña generada para actualizar /etc/shadow
:
echo "username:encryptedPassWd" | chpasswd -e
La contraseña cifrada también la podemos utilizar para crear un nuevo usuario con esta contraseña, por ejemplo:
useradd -p 'encryptedPassWd' username