Ändern * Ihres * Linux-Passworts über ein Bash-Skript

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 oder sudo für Ihre " verwenden Ändern Sie das Kennwort eines anderen Benutzers ' ", um zu funktionieren?
  • Nur root kann passwd username für einen anderen Benutzer verwenden. Wenn Sie passwd ausführen (ohne username) als root 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, wenn passwd 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.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.