changer * votre * mot de passe linux via un script bash

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 ou sudo pour votre " modifier un autre exemple dutilisateur ' s mot de passe " pour quil fonctionne?
  • Uniquement root peut utiliser passwd username pour un autre utilisateur. Lorsque vous exécutez passwd (sans username) comme root 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 si passwd 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é.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *