Die Frage
Wie kann ein Benutzer aufgefordert werden, sein Passwort bei der nächsten Anmeldung zu ändern? Erst nach dem Zurücksetzen des Passworts muss der Benutzer gezwungen werden, das Passwort zum ersten Mal zu ändern.
1. Mit dem Befehl „chage“
Dies kann mit dem Befehl „chage“ mit -d erfolgen Möglichkeit. Gemäß der Manpage von chage :
# man chage .... -d, --lastday LAST_DAY Set the number of days since January 1st, 1970 when the password was last changed. The date may also be expressed in the format YYYY-MM-DD (or the format more commonly used in your area). If the LAST_DAY is set to 0 the user is forced to change his password on the next log on. ...
Um das Datum der letzten Passwortänderung des Benutzers auf 0 zu setzen, verwenden Sie den folgenden Befehl:
# chage -d 0 [username]
Zum Beispiel, um das Datum der letzten Passwortänderung des Benutzers (Testbenutzer) mit dem Befehl „chage“ auf 0 zu setzen:
# chage -d 0 testuser
2. Verwenden des passwd-Befehls
Eine andere Möglichkeit, Benutzer zur Passwortänderung zu zwingen, ist die Verwendung des Befehls passwd mit -e Möglichkeit. Die Option -e lässt das aktuelle Benutzerkennwort ablaufen und zwingt den Benutzer, bei der nächsten Anmeldung ein neues festzulegen. Aus der Manpage des passwd-Befehls:
-e This is a quick way to expire a password for an account. The user will be forced to change the password during the next login attempt. Available to root only.
Verwenden Sie den folgenden Befehl, um das aktuelle Passwort ablaufen zu lassen und den Benutzer zu zwingen, ein neues Passwort festzulegen:
# passwd -e [username]
Wenn sich der Benutzer nicht an sein altes Passwort erinnert, geben Sie ihm mit passwd ein temporäres Passwort, bevor Sie den obigen Befehl ausführen.
Bestätigen
Wenn sich der Benutzer das nächste Mal (mit seinem alten Passwort) authentifiziert, wird er gezwungen, ein neues Passwort einzugeben.
# ssh testuser@localhost testuser@localhost's password: You are required to change your password immediately (root enforced) WARNING: Your password has expired. You must change your password now and login again! Changing password for user testuser. Changing password for testuser. (current) UNIX password: New password: Retype new password: passwd: all authentication tokens updated successfully. Connection to localhost closed.
Um zu überprüfen, ob das aktuelle Passwort abgelaufen ist oder nicht, verwenden Sie den Befehl chage .
# chage -l [username]