Estás buscando el chpasswd
dominio. Harías algo como esto:
echo 'pi:newpassword' | chpasswd # change user pi password to newpassword
Tenga en cuenta que debe ejecutarse como root, al menos con la configuración predeterminada de PAM. Pero, presumiblemente, ejecutar como root no es un problema para un script de implementación del sistema.
Además, puede hacer varios usuarios a la vez alimentándolo con varias líneas de entrada.
Otra alternativa es usar el yes
comando en su secuencia de comandos.
yes newpassword | passwd youruser
Esto enviará newpassword
al passwd
comando para youruser
.
Cabe mencionar que establecer/modificar contraseñas de usuario a través de scripts puede presentar riesgos de seguridad y debe evitarse siempre que sea posible.
EDITAR:
Esta respuesta requiere acceso de root. Disculpas por no mencionar esto previamente. Es un método que utilizo cuando realizo tareas de administración que requieren acceso de root.