Vous cherchez le chpasswd
commande. Vous feriez quelque chose comme ceci :
echo 'pi:newpassword' | chpasswd # change user pi password to newpassword
Notez qu'il doit être exécuté en tant que root, au moins avec la configuration PAM par défaut. Mais exécuter en tant que root n'est probablement pas un problème pour un script de déploiement système.
De plus, vous pouvez faire plusieurs utilisateurs à la fois en lui fournissant plusieurs lignes d'entrée.
Une autre alternative est d'utiliser le yes
commande dans votre script.
yes newpassword | passwd youruser
Cela enverra newpassword
au passwd
commande pour youruser
.
Il convient de mentionner que la définition/modification des mots de passe des utilisateurs via des scripts peut présenter des risques de sécurité et doit être évitée dans la mesure du possible.
MODIF :
Cette réponse nécessite un accès root. Toutes mes excuses pour ne pas l'avoir mentionné précédemment. C'est une méthode que j'utilise pour effectuer des tâches d'administration qui nécessitent un accès root.