Automatiser changement de mot de passe - passwd trop interactif

yop les enfants

toujours dans la série “je fais un script bash et j’en parle a tout le monde”, aujourd’hui je voudrais savoir comment faire pour automatiser le changement de mot de passe d’un utilisateur

la valeur est récupérée par un script dialog mais pas moyen de l’inserer dans ‘passwd <user>’
j’ai essayé les redirections en tout genres, les pipes et autres, mais ca marche pas…

une idée ? j’ai entendu parler de chpasswd mais pas moyen de le faire marcher :frowning:

Salut,

echo -e "MDP\nMDP" | (passwd --stdin $USER)

:wink:

j’avais déjà essayé stdin mais l’option n’est pas connue par la version de passwd présente sur sarge et etch…

pour sarge :


# echo -e "test\ntest" | (passwd --stdin julien)
passwd: option invalide -- -
Usage: passwd [-f|-s] [nom]
       passwd [-x max] [-n min] [-w avert] [-i inact] nom
       passwd {-l|-u|-d|-S|-e} nom


passwd 4.0.3-31sarge9

Regarde peut être du côté de la commande "expect" alors (man expect).

:wink:

le cryptage fait par passwd c’est pas md5 ou du 3des ?

Tu peux facilement contruire un ligne de /etc/passwd a la main et l’integrer au fichier original…

Et si tout simplement…

echo $USER:$newpassword | chpasswd

devrait le faire aussi :wink:

ha ouais ca, ca marche !
merci de l’info, c’est cool :slight_smile: