Es ist einfach genug, das Passwort eines anderen Benutzers über ein Bash-Skript zu ändern – Mach einfach echo newpw | passwd username
und bam, du bist fertig. Aber was ist mit dem Ändern von Ihrem Passwort per Bash? echo newpw | passwd username
funktioniert nicht, da Sie zur Eingabe Ihres aktuellen Passworts aufgefordert werden, bevor Sie Ihr neues Passwort eingeben können.
Kommentare
- Mussten Sie
su
odersudo
für Ihre " verwenden Ändern Sie das Kennwort eines anderen Benutzers ' ", um zu funktionieren? - Nur
root
kannpasswd username
für einen anderen Benutzer verwenden. Wenn Siepasswd
ausführen (ohneusername
) alsroot
fragt es nicht nach dem alten Passwort (auf meinem Ubuntu 19.10-System). - Yah – das habe ich getan
sudo
. Die Frage bleibt bestehen, lol - Sie mussten also Ihr Passwort eingeben, um
sudo
zu Ändern Sie das Passwort eines anderen Benutzers '? - Geben Sie ihm dann das aktuelle Passwort,
{ sleep .1; echo OLDPASSWORD; for i in 1 2; do sleep .1; echo Trump2020! ; done; } | passwd
. Verwenden Sie... | script -c passwd /dev/null
, wennpasswd
von einem tty lesen möchte. Aber Sie sollten ' das wirklich nicht tun. Sagen Sie besser, was Sie ' erreichen möchten.
Antwort
Wenn Sie das Passwort des aktuellen Benutzers ändern möchten, sollte dies auch so sein:
echo -e "MyOldPasswd\nMyNewPasswd\nMyNewPasswd" | passwd
Antwort
Sie können chpasswd verwenden.
sudo chpasswd <<<"neubert:newpass"
Antwort
Das funktioniert mit keinem halbwegs vernünftigen Setup. Nur root kann die Passwörter anderer Benutzer über passwd user
(sollte zur Eingabe des neuen Passworts auffordern). Um Ihr eigenes Passwort zu ändern, führen Sie passwd
aus. Es sollte nach dem aktuellen Passwort fragen und dann nach dem neuen (und der Bestätigung).
Zulassen eines beliebigen Benutzers Das Ändern der Passwörter anderer Benutzer ist ein großes Sicherheitsproblem.