Das Ändern eines Passworts unter Linux scheint einfach, bis man es auf einem entfernten Server, einem von einem Dienst genutzten Konto oder dem Benutzerkonto durchführt, mit dem man sich noch per SSH anmelden kann. In solchen Situationen kann ein zu schnell ausgeführter Befehl schnell zu einem Ärgernis werden.
Passwort unter Linux Dieses Tool dient dazu, ein Passwort zu ändern, dessen Erneuerung zu erzwingen oder die Passwortauthentifizierung für ein Konto zu sperren. Es ist zuverlässig, aber es ist wichtig zu verstehen, was es ändert und vor allem, was es nicht ändert. Ein Konto kann weiterhin SSH-Schlüssel, offene Prozesse oder aktive Sitzungen enthalten.

Ändern Sie das Passwort für das angemeldete Konto.
Um Ihr eigenes Passwort zu ändern, benötigen Sie nur den kürzesten Befehl:
Passwort
Linux fragt Sie nach Ihrem alten und anschließend nach Ihrem neuen Passwort. Falls die PAM-Richtlinie oder die Konfiguration Ihrer Distribution eine Mindestkomplexität vorschreibt, kann der Befehl ein zu kurzes, dem alten zu ähnliches oder zu einfaches Passwort ablehnen.
Auf einem Server empfehle ich, eine zweite Sitzung geöffnet zu lassen, bis Sie eine neue Verbindung getestet haben. Das ist zwar simpel, verhindert aber, dass Sie zu spät feststellen, dass Ihre Tastatur, Ihr Passwortmanager oder Ihr SSH-Layout Probleme verursacht haben.
Ändern Sie das Passwort eines anderen Benutzers.
Zum Ändern des Passworts eines anderen Kontos sind Administratorrechte erforderlich:
sudo passwd alice
In diesem Beispiel, Alice Es handelt sich um das betreffende Konto. Bevor Sie den Befehl auf einem Server ausführen, mit dem Sie nicht vertraut sind, überprüfen Sie, ob das Konto existiert und welchen Zweck es erfüllt. Der Artikel über Linux-Benutzer bietet eine geeignete Methode zur Unterscheidung zwischen Benutzerkonten, Systemkonten und Dienstkonten.
id alice
getent passwd alice
Wenn Sie das Passwort eines Kontos ändern, das von einem Kollegen verwendet wird, benachrichtigen Sie ihn vorher. Wenn Sie das Passwort eines Anwendungskontos ändern, prüfen Sie zuerst, wo dieses Passwort verwendet wird. Dies ist nicht der Befehl. Passwort Dies führt direkt zum Ausfall der Anwendung, aber auch das Rotieren des Geheimnisses kann eine Verbindung, ein Skript oder den automatisierten Zugriff unterbrechen.
Überprüfen Sie den Passwortstatus
Der Befehl kann auch den Status eines Kontos anzeigen. Dies ist nützlich, bevor man eine Kontorotation erzwingt oder den Zugriff sperrt.
sudo passwd -S alice
Je nach Distribution wird ein Zustand des Typs angezeigt. P für ein brauchbares Passwort, L für ein gesperrtes Passwort oder NP Wenn kein Passwort festgelegt ist. Um mehr über Ablaufdaten zu erfahren, verwenden Sie stattdessen Veränderung.
sudo chage -l alice
Vermeiden Sie eine direkte Bearbeitung /etc/shadowDiese Datei speichert sensible Informationen zu Passwörtern und deren Ablaufdaten. Wenn Sie den Zweck dieser Datei verstehen möchten, lesen Sie bitte die entsprechende Seite. Schatten(5) Es erklärt das Format, ist aber keine Datei, die für den routinemäßigen Betrieb manuell bearbeitet werden sollte.
Erzwinge eine Änderung bei der nächsten Verbindung
Wenn Sie ein temporäres Konto erstellen oder ein Passwort für jemanden zurücksetzen, ist die sauberste Vorgehensweise oft, die Änderung beim nächsten Login zu erzwingen:
sudo passwd -e alice
Das aktuelle Passwort läuft sofort ab. Der Benutzer kann sich zwar anmelden, wird aber von Linux aufgefordert, ein neues Passwort festzulegen. Dies ist sicherer, als ein temporäres Passwort zu senden und es monatelang aktiv zu lassen.
Wenn der Zugriff ausschließlich über einen SSH-Schlüssel erfolgt, sollten Sie auch das Thema Schlüssel berücksichtigen. Ein abgelaufenes Passwort ersetzt keine ordnungsgemäße Schlüsselrichtlinie, einschließlich Passphrasen und Ablaufdaten. Schlagen Sie bei Bedarf im entsprechenden Leitfaden nach. Erstellen eines SSH-Schlüssels unter Ubuntu.
Sperren eines Passworts ohne Verwendung des falschen Bereichs
Um die Passwortauthentifizierung für ein Konto zu sperren, können Sie Folgendes verwenden:
sudo passwd -l alice
Um zurück zu gehen:
sudo passwd -u alice
Vorsicht vor der Falle: passwd -l Es sperrt das Passwort, aber nicht unbedingt alle Zugriffsmethoden. Wenn das Konto über einen autorisierten SSH-Schlüssel, eine bereits geöffnete Sitzung oder einen anderen Authentifizierungsmechanismus verfügt, ist der Zugriff nicht zwangsläufig vollständig unterbunden. Die Seite passwd(1) Es verdeutlicht uns, dass zur endgültigen Deaktivierung eines Kontos manchmal auch Maßnahmen auf das Ablaufdatum oder die Konfiguration des Kontos erforderlich sind.
Wenn Sie ein Konto nach dem Ausscheiden eines Nutzers oder einem Vorfall sperren möchten, sollten Sie sich nicht auf einen einzelnen Befehl verlassen. Überprüfen Sie auch SSH-Schlüssel, sensible Gruppen, geplante Aufgaben und laufende Prozesse.
Überprüfen Sie die offenen Sitzungen, bevor Sie den Zugriff sperren.
Bevor ich ein Konto sperre, prüfe ich immer, ob eine aktive Sitzung vorhanden ist. Dies hilft, Unterbrechungen bei Datensicherungen, Migrationen oder laufenden Eingriffen zu vermeiden.
WHO
w
loginctl list-sessions
Um frühere Verbindungen anzuzeigen:
letzte - eine Alice | Kopf
Wenn der Benutzer per SSH verbunden ist, bewahren Sie Ruhe. Das Ändern des Passworts beendet die bestehende Sitzung nicht zwangsläufig. Ein gleichzeitiger Neustart eines Dienstes oder eine Änderung an der SSH-Verbindung kann jedoch zu einer Aussperrung führen. Informationen zu solchen Vorgängen finden Sie in der Anleitung unter [Link einfügen]. Neustart von SSH auf Ubuntu Prüfen Sie die notwendigen Schritte sorgfältig, bevor Sie versuchen, auf die Remote-Verbindung zuzugreifen.
Wenn passwd nicht ausreicht
Passwort Es ist das richtige Werkzeug, um den Passwortstatus zu ändern. Es ist nicht das Werkzeug, das den gesamten Lebenszyklus eines Kontos verwaltet.
- Um die Gruppen zu ändern, verwenden Sie stattdessen
Benutzermododer Gruppenverwaltungsbefehle. - Um ein gesamtes Konto zu deaktivieren, schauen Sie
usermod --expiredateOderVeränderungabhängig von Ihrem Vertriebskanal. - Um viele Passwörter gleichzeitig zu ändern,
chpasswdEs existiert, aber ich würde es nur für Skripte verwenden, die gut kontrolliert und getestet sind. - Um den SSH-Zugriff zu entfernen, überprüfen Sie die Dateien.
autorisierte_Schlüsselund die SSH-Serverkonfiguration.
Dokumentation usermod(8) Es beschreibt detailliert die Optionen für Ablauf und Sperrung. Für eine einfache Intervention sollte die Vorgehensweise kurz gehalten werden: Konto identifizieren, Sitzungen prüfen, Passwort ändern oder ablaufen lassen, neue Verbindung testen und erst dann die alten Verbindungen sperren.
Auf einem PC, Passwort Oftmals ist es nur ein einziger Befehl. Auf einem Server handelt es sich um eine Zugriffsoperation. Das ist der Unterschied: Nehmen Sie sich dreißig Sekunden Zeit für eine Überprüfung, bevor Sie Änderungen vornehmen; Sie sparen dadurch viel Zeit, falls etwas schiefgeht.