Il est assez facile de changer un autre mot de passe utilisateur via un script bash – faites simplement echo newpw | passwd username
et bam, vous avez terminé. Mais quen est-il du changement de votre mot de passe via bash? echo newpw | passwd username
ne fonctionne pas car il vous demande votre mot de passe actuel avant de vous laisser entrer votre nouveau mot de passe.
Commentaires
- Avez-vous dû utiliser
su
ousudo
pour votre " modifier un autre exemple dutilisateur ' s mot de passe " pour quil fonctionne? - Uniquement
root
peut utiliserpasswd username
pour un autre utilisateur. Lorsque vous exécutezpasswd
(sansusername
) commeroot
il ne demande pas lancien mot de passe (sur mon système Ubuntu 19.10). - Yah – je faisais
sudo
. La question est toujours dactualité. - Vous avez donc dû entrer votre mot de passe pour
sudo
pour changer le mot de passe dun autre utilisateur '? - Eh bien, donnez-lui le mot de passe actuel,
{ sleep .1; echo OLDPASSWORD; for i in 1 2; do sleep .1; echo Trump2020! ; done; } | passwd
. Utilisez... | script -c passwd /dev/null
sipasswd
veut lire à partir dun tty. Mais vous ne devriez vraiment pas ' faire cela. Mieux vaut dire ce que vous ' essayez daccomplir.
Réponse
Si vous souhaitez modifier le mot de passe de lutilisateur actuel, vous devez également le faire:
echo -e "MyOldPasswd\nMyNewPasswd\nMyNewPasswd" | passwd
Réponse
Vous pouvez utiliser chpasswd .
sudo chpasswd <<<"neubert:newpass"
Réponse
Cela ne fonctionnera pas avec une configuration à moitié raisonnable. Seul root peut changer les mots de passe des autres utilisateurs, via passwd user
(il devrait demander le nouveau mot de passe). Pour changer votre propre mot de passe, faites passwd
, il devrait demander le mot de passe actuel puis demander le nouveau (et la confirmation).
Autoriser tout utilisateur aléatoire changer les mots de passe des autres est un énorme problème de sécurité.