3 Möglichkeiten zum Sperren und Entsperren von Benutzerkonten in Linux
Es kann eine Reihe von Gründen geben, warum Sie einen Benutzer in Ihrer Mehrbenutzer-Linux-Umgebung deaktivieren möchten. Vielleicht hat ein Mitarbeiter die Organisation verlassen und anstatt den Benutzer vollständig zu löschen, sperren Sie das Konto zu Archivierungszwecken.
In diesem Tutorial zeige ich Ihnen drei Möglichkeiten, einen Benutzer in der Linux-Befehlszeile zu sperren. Ich werde auch besprechen, wie der Benutzer entsperrt wird.
Bitte beachten Sie, dass Sie für diese Änderungen entweder root oder über sudo Root-Zugriff haben .
Methode 1:Benutzer mit dem passwd-Befehl sperren und entsperren
Der Befehl passwd in Linux befasst sich mit Passwörtern eines Benutzerkontos. Sie können diesen Befehl auch verwenden, um ein Benutzerkonto zu sperren.
Der Befehl funktioniert grundsätzlich in der Datei /etc/passwd. Sie können diese Datei manuell ändern, aber ich rate davon ab.
Um einen Benutzer mit dem passwd-Befehl zu sperren, können Sie die Option -l oder –lock auf diese Weise verwenden:
passwd -l user_name
Überprüfen Sie den Status eines Benutzers mit dem passwd-Befehl
Sie können erfahren, ob ein Benutzer gesperrt oder entsperrt ist, indem Sie die Option -S oder –status des Befehls passwd verwenden.
passwd -S Benutzername
Sehen Sie sich das zweite Feld in der Ausgabe an. Das bedeutet Folgendes:
– P oder PS:Passwort ist gesetzt (Benutzer ist entsperrt)
– L oder LK:Benutzer ist gesperrt
– N oder NP:Der Benutzer benötigt kein Passwort
Hier ist eine Beispielausgabe des passwd-Befehls:
Norm P 14.10.2019 0 99999 7 -1
Um den Benutzer mit dem passwd-Befehl zu entsperren, können Sie die Option -u oder –unlock:
verwendenpasswd -u user_name
Unter Ubuntu sehen Sie eine Ausgabe wie diese zum Sperren und Entsperren des Benutzers:
passwd: password expiry information changed
Was ist mit der Anmeldung über SSH?
Es gibt ein großes Problem, Benutzer auf diese Weise zu sperren. Da es nur mit der Datei /etc/passwd funktioniert, kann sich der gesperrte Benutzer weiterhin über SSH-Schlüssel anmelden (wenn die Anmeldung über SSH-Schlüssel festgelegt ist). Wie Sie damit umgehen, zeige ich Ihnen im nächsten Abschnitt.
Methode 2:Benutzer mit dem usermod-Befehl sperren und entsperren
Sie können auch den Befehl usermod verwenden. Der Befehl wird hauptsächlich zum Ändern von Benutzerkonten in Linux verwendet. Sie können den Status eines Benutzers auch ändern, indem Sie ihn mit usermod.
sperren oder entsperrenUm den Benutzer zu sperren, können Sie die Option -L folgendermaßen verwenden:
usermod -L user_name
Um den Benutzer zu entsperren, können Sie die Option -U verwenden:
usermod -U user_name
Wie überprüfen Sie, ob der Benutzer gesperrt ist oder nicht? Der Befehl usermod funktioniert auch mit der Datei /etc/passwd, sodass Sie den Befehl passwd -S user_name verwenden können, um den Status des Benutzers zu überprüfen.
Aber usermod funktioniert auch mit der Datei /etc/passwd, was bedeutet, dass sich der gesperrte Benutzer immer noch über SSH-Schlüssel anmelden kann, oder? Stimmt. Aber es gibt Möglichkeiten, dieses Problem zu lösen.
Zum Beispiel können Sie die Shell des Benutzers in nologin ändern und dies wird dem Benutzer nicht erlauben, sich bei einer Shell anzumelden.
Eine andere Methode besteht darin, den Benutzer zu sperren und ein abgelaufenes Datum in der Vergangenheit anzugeben. Es deaktiviert das Konto an einem vergangenen Datum und sperrt es dann.
Stellen Sie sicher, dass das vergangene Datum zwischen dem 02.01.1970 und dem aktuellen Datum liegt.
usermod -L --expiredate 1970-01-02 user_name
Sie können es mit diesem Befehl umkehren:
usermod -U --expiredate '' user_name
Es gibt eine ähnliche Möglichkeit, den Benutzer in Linux mit dem Befehl chalock zu sperren. Sehen wir uns das im nächsten Abschnitt an.
Methode 3:Benutzer mit dem Befehl "chage" sperren und entsperren
Der Befehl „chage“ wird zum Ändern der Ablaufinformationen des Benutzerkennworts verwendet. Es kann verwendet werden, um einen inaktiven Benutzer nach einer bestimmten Anzahl von Tagen der Inaktivität automatisch zu sperren.
Grundsätzlich kann das, was Sie mit dem usermod-Befehl im vorherigen Abschnitt gemacht haben, mit dem chage-Befehl wie diesem erreicht werden:
chage -E 1 username
Grundsätzlich haben Sie das Ablaufdatum auf den 02.01.1970 gesetzt. Sie können die Details wie folgt sehen:
[email protected]:~$ sudo chage -l standard
Last password change : Nov 07, 2019
Password expires : never
Password inactive : never
Account expires : Jan 02, 1970
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
Sie können das Ablaufdatum entfernen und so den Benutzer entsperren:
chage -E -1 username
Am Ende…
Wie immer gibt es verschiedene Möglichkeiten, eine Aufgabe in der Linux-Befehlszeile auszuführen. Ich habe hier drei Methoden zum Sperren und Entsperren von Benutzern in Linux gezeigt. Kennen Sie einen besseren Weg oder haben Sie einen Best-Practice-Vorschlag zum Sperren von Benutzern? Teilen Sie es im Kommentarbereich.