In diesem Tutorial werde ich erklären, wie ein Benutzer oder Superuser (Root) das Passwort unter Linux ändern kann. Passwd ist der Befehl, der in Linux (Redhat, Centos, Ubuntu, Debian, Fedora) und UNIX-ähnlichen Betriebssystemen verwendet wird, um das Passwort zu ändern.
Wenn wir passwd
ausführen Befehl wird das verschlüsselte Passwort des Benutzers in der Datei /etc/shadow gespeichert.
Ein normaler Benutzer (nicht root) darf nur sein Passwort ändern. Während Root- oder Sudo-Benutzer das Passwort für alle Konten ändern können.
Aus Sicherheitsgründen ist es immer ratsam, ein starkes Passwort zu verwenden und dieses regelmäßig zu ändern.
Passwort ändern
Wenn das passwd
Befehl von einem Nicht-Root-Benutzer ausgeführt wird, fragt er nach dem aktuellen Passwort und legt dann das neue Passwort dieses Benutzers fest. Superuser oder Root können das Passwort für jeden Benutzer, einschließlich Root, zurücksetzen, ohne das aktuelle Passwort zu kennen.
Wenn der Befehl passwd
von einem Nicht-Root-Benutzer aufgerufen wird, müssen Sie zuerst Ihr vorhandenes Passwort eingeben, bevor Sie mit der Änderung des Passworts fortfahren. Das Passwort muss zweimal eingegeben werden und wird während der Eingabe nicht auf dem Bildschirm angezeigt.
$ passwd
Changing password for vagrant.
(current) UNIX password:
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Sie können auch keine einfachen Wörter als Passwörter angeben. Der Befehl Passwd prüft, wie lang und komplex Ihr Passwort ist. In der folgenden Ausgabe wird ein einfaches, wörterbuchbasiertes Passwort ausprobiert.
$ passwd
Changing password for vagrant.
(current) UNIX password:
Enter new UNIX password:
Retype new UNIX password:
You must choose a longer password
Enter new UNIX password:
Retype new UNIX password:
Bad: new password is too simple
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Passwort als Super-User (root) ändern
Jeder Systembenutzer kann nur sein Passwort ändern. Das passwd
Der Befehl nimmt kein Argument an, wenn er als normaler Benutzer ausgeführt wird.
Aber als Root können Sie das Passwort jedes Benutzers im System ändern und zurücksetzen.
Die Verwendung ist wie folgt:
# passwd [options] [user_name]
Verschiedene Optionen, die verwendet werden können, sind:
Options:
-a, --all report password status on all accounts
-d, --delete delete the password for the named account
-e, --expire force expire the password for the named account
-h, --help display this help message and exit
-k, --keep-tokens change password only if expired
-i, --inactive INACTIVE set password inactive after expiration
to INACTIVE
-l, --lock lock the password of the named account
-n, --mindays MIN_DAYS set minimum number of days before password
change to MIN_DAYS
-q, --quiet quiet mode
-r, --repository REPOSITORY change password in REPOSITORY repository
-R, --root CHROOT_DIR directory to chroot into
-S, --status report password status on the named account
-u, --unlock unlock the password of the named account
-w, --warndays WARN_DAYS set expiration warning days to WARN_DAYS
-x, --maxdays MAX_DAYS set maximum number of days before password
change to MAX_DAYS
Wenn root passwd
ausführt Befehl wird standardmäßig das Root-Passwort zurückgesetzt, und wenn Sie den Benutzernamen nach passwd
angeben Befehl, dann wird es das Passwort dieses Benutzers ändern.
# passwd vagrant
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
#
Root-Benutzer können sogar einfache Passwörter angeben. Obwohl eine Warnung angezeigt wird, wird das Kennwort dennoch erfolgreich geändert. Das Passwort des Systembenutzers wird in verschlüsselter Form in der Datei /etc/shadow gespeichert.
Informationen zum Passwortstatus anzeigen
Um Informationen zum Passwortstatus eines gewünschten Benutzers anzuzeigen, verwenden Sie -S
Option im passwd-Befehl.
# passwd -S vagrant
vagrant P 07/02/2019 0 99999 7 -1
#
Das erste Feld zeigt den Benutzernamen, das zweite Feld zeigt den Passwortstatus (PS =Passwort gesetzt, LK =Passwort gesperrt, NP =kein Passwort), das dritte Feld zeigt, wann das Passwort zuletzt geändert wurde, und das letzte und vierte Feld zeigen Mindestalter, Höchstalter, Warnung Zeitraum und Inaktivitätszeitraum für das Passwort.
Um den Status aller Benutzerpasswörter im System aufzulisten, verwenden wir -Sa
Parameter:
# passwd -Sa
root P 05/14/2019 0 99999 7 -1
daemon L 05/14/2019 0 99999 7 -1
bin L 05/14/2019 0 99999 7 -1
sys L 05/14/2019 0 99999 7 -1
sync L 05/14/2019 0 99999 7 -1
games L 05/14/2019 0 99999 7 -1
man L 05/14/2019 0 99999 7 -1
lp L 05/14/2019 0 99999 7 -1
mail L 05/14/2019 0 99999 7 -1
news L 05/14/2019 0 99999 7 -1
uucp L 05/14/2019 0 99999 7 -1
proxy L 05/14/2019 0 99999 7 -1
www-data L 05/14/2019 0 99999 7 -1
backup L 05/14/2019 0 99999 7 -1
Passwort eines Benutzers entfernen
Um das Passwort eines gewünschten Benutzers zu entfernen, verwenden wir -d
Befehlsoption:
# passwd -d test
passwd: password expiry information changed.
# passwd -S test
test NP 07/02/2019 0 99999 7 -1
Hinweis:Option -d
macht das Passwort des Benutzers leer und deaktiviert das Konto des Benutzers.
Passwortablauf festlegen
Um das Passwort des Benutzers abgelaufen zu machen und diesen Benutzer zu zwingen, das Passwort bei einer nächsten Anmeldung zu ändern, verwenden Sie -e
Option in passwd
Befehl.
# passwd -e test
passwd: password expiry information changed.
# passwd -S test
test NP 01/01/1970 0 99999 7 -1
Sperren und entsperren Sie das Passwort eines Systembenutzers
Um das Passwort eines Benutzers zu sperren, verwenden Sie -l
Option in passwd
Befehl. Es wird !
hinzugefügt am Anfang des Benutzerpassworts. Der Benutzer kann sein Passwort nicht ändern, wenn sein Passwort gesperrt ist.
# passwd -l test
passwd: password expiry information changed.
# passwd -S test
test L 07/03/2019 0 99999 7 -1
Um das Passwort des Benutzers zu entsperren, verwenden Sie -u
Möglichkeit:
# passwd -u test
passwd: password expiry information changed.
# passwd -S test
test P 07/03/2019 0 99999 7 -1
Festlegen inaktiver Tage mit der Option -i
Dies wird aktiviert, wenn das Passwort eines ausgewählten Benutzers abgelaufen ist und der Benutzer sein Passwort in ‘n‘ Tagen (d. h. 10 Tagen) nicht geändert hat. Danach kann sich der Benutzer nicht mehr anmelden.
# passwd -i 10 test
passwd: password expiry information changed.
# passwd -S test
test P 07/03/2019 0 99999 7 10
Warnung Tage vor Ablauf des Passworts festlegen
Option -w
wird verwendet, um Warntage festzulegen, bevor ein Benutzer daran erinnert wird, das Kennwort zu ändern. Das bedeutet, dass ein Benutzer n Tage gewarnt wird, bevor sein Passwort abläuft.
# passwd -w 5 test
passwd: password expiry information changed.
# passwd -S test
test P 07/03/2019 0 99999 5 10
Mindesttage zum Ändern des Passworts festlegen
Im Folgenden muss der Beispieltestbenutzer das Passwort innerhalb von 30 Tagen ändern. Ein Wert von Null zeigt an, dass der Benutzer sein Passwort jederzeit ändern kann.
# passwd -n 30 test
passwd: password expiry information changed.
# passwd -S test
test P 07/03/2019 30 99999 5 10
Schlussfolgerung
In diesem Tutorial haben wir gelernt, wie man das Benutzerpasswort unter Linux ändert. Weitere Informationen finden Sie auf den Manpages des passwd-Befehls. Vielen Dank für das Lesen dieses Artikels und lassen Sie es mich wissen, wenn Sie Fragen haben.
Lesen Sie auch:
- So finden/ändern Sie das Standard-Root-Passwort von Ubuntu
- Wie man Benutzer zu Sudoers in Linux hinzufügt