GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Finden Sie Benutzerkonten mit leerem Passwort in Linux

Das schlechteste Passwort ist kein schwaches Passwort, sondern gar kein Passwort. Als Systemadministrator müssen Sie sicherstellen, dass jedes Benutzerkonto ein sicheres Passwort hat. Dieses kurze Tutorial erklärt, wie man Benutzerkonten mit leerem Passwort in Linux findet.

Bevor wir uns mit dem Thema befassen, lassen Sie uns eine kurze Zusammenfassung von Schatten geben Datei und ihren Zweck.

Was ist eine Shadow-Passwortdatei?

In RHEL-Systemen werden die Benutzerpasswörter gehasht und in einer sicheren Datei namens /etc/shadow gespeichert . Die Shadow-Passwortdatei enthält die Benutzerauthentifizierung und die Passwortalterungsdetails der Benutzerkonten.

Die Shadow-Passwortdatei gehört dem root user und ist nur für Superuser lesbar. Sie können den Besitz und die Berechtigung der Schattendatei mit dem folgenden Befehl überprüfen:

# ls -l /etc/shadow
---------- 1 root root 618 Apr  7 07:52 /etc/shadow

Die typische Struktur einer Beispielzeile aus der Schattendatei ist unten angegeben.

user1:$6$5ps/XV21$EFmQ463GJZnsdF/:19089:0:99999:7:::

Wie Sie vielleicht bereits wissen, hat die Schattendatei neun Felder getrennt durch einen Doppelpunkt.

Lassen Sie uns einen kurzen Blick auf jedes Feld werfen.

  • Eintrag 1 (Anmeldename) - Enthält den Login-Namen (user1), wie er im passwd erscheint Datei.
  • Datei 2 (verschlüsseltes Passwort) - Dieses Feld enthält das gehashte (verschlüsselte) Passwort des Benutzers. Wenn am Anfang dieser Datei ein einzelnes Ausrufezeichen (!) steht, bedeutet dies, dass das Benutzerkonto gesperrt ist. Wenn dieses Feld leer ist, hat der Benutzer kein Passwort.
  • Eingereicht 3 (Letzte Änderung) - Dieses Feld zeigt die Anzahl der Tage seit der Unix-Epoche (d. h. Unix-Zeit - 1. Januar 1970 00:00:00 UTC) an, als das Passwort zuletzt geändert wurde. Wenn dieses Feld 0 enthält, wird der Benutzer gezwungen, sein Passwort bei der nächsten Anmeldung zu ändern.
  • Eingereicht 4 (Minimum) - Dieses Feld zeigt die Mindestanzahl von Tagen (Minuten) an, die vergehen müssen, bevor der Benutzer sein Passwort ändern darf. Sie können diesen Feldwert mit chage ändern Befehl mit -m Möglichkeit.
  • Feld 5 (Maximum) - Zeigt die maximale Anzahl von Tagen (maxdays) der Kennwortgültigkeit an, bevor das Benutzerkennwort abläuft. Wenn das Feld 0 ist, bedeutet dies, dass diese Funktion deaktiviert ist. Der Wert dieses Feldes kann mit chage geändert werden Befehl mit -M Möglichkeit.
  • Eingereicht 6 (Warnung) - Gibt die Anzahl der Tage (Warntage) an, für die der Benutzer Warnungen erhält, wenn er sein Kennwort ändert, bevor es abläuft. Sie können diesen Wert mit chage ändern Befehl mit -W Option oder das passwd Befehl mit -w Möglichkeit.
  • Feld 7 (Passwortablauf) - Definiert die maximal zulässige Anzahl von Tagen, in denen sich der Benutzer mit dem abgelaufenen Passwort anmelden kann. Dies kann mit chage geändert werden Befehl mit -I flag oder passwd Befehl mit -i Flagge.
  • Feld 8 (Kontoablauf) - Definiert die Anzahl der Tage seit der UNIX-Zeit, in denen das Benutzerkonto abläuft und nicht mehr verfügbar ist. Sie können den Wert dieses Felds mit chage ändern Befehl mit -E Möglichkeit.
  • Feld 9 (Reserviert) - Dieses Feld ist für zukünftige Verwendung reserviert.

Wie oben erwähnt, werden die verschlüsselten Passwörter im zweiten Feld jedes Eintrags in der Shadow-Passwortdatei direkt nach dem Benutzernamen gespeichert.

Wenn also das zweite Feld in der Schattendatei leer ist, hat der Benutzer kein Passwort. Erlauben Sie mir, Ihnen ein Beispiel zu zeigen, um alle passwortlosen Benutzerkonten zu finden.

Alle Benutzerkonten ohne Passwort in Linux finden

Um alle lokalen Benutzerkonten ohne Passwort zu erkennen, führen Sie einfach den folgenden Befehl als root aus Benutzer:

# awk -F: '$2 == "" { print $1, "has empty password!. Please set a strong password ASAP!!" }' /etc/shadow

Beispielausgabe:

ostechnix has empty password!. Please set a strong password ASAP!!

Sie können auch getent verwenden Befehl kombiniert mit grep und cut Befehle zum Identifizieren passwortloser lokaler Benutzerkonten in Linux.

# getent shadow | grep -Po '^[^:]*(?=::)'

Oder,

# getent shadow | grep '^[^:]*::' | cut -d: -f1

Alle oben genannten Befehle listen nur die lokalen Benutzerkonten auf, die leere Passwörter haben. Wenn Sie sowohl die Systemkonten als auch die Benutzerkonten mit leerem Passwort auflisten möchten, führen Sie.

aus
# getent shadow | grep -Po '^[^:]*(?=:.?:)'

Oder,

# getent shadow | grep '^[^:]*:.\?:' | cut -d: -f1

Suchen Sie ein bestimmtes passwortloses Benutzerkonto

Die obigen Befehle listen alle lokalen sowie Systemkonten auf, die kein Passwort haben. Sie können den Passwortstatus eines bestimmten Benutzerkontos auch mit passwd überprüfen Befehl mit -S Flagge.

# passwd -S ostechnix

Beispielausgabe:

ostechnix NP 2022-04-07 0 99999 7 -1 (Empty password.)

Das passwd Befehle zeigen den Passwortstatus des angegebenen Benutzerkontos an. Die möglichen Werte sind:

  • LK - Das Benutzerkonto ist gesperrt.
  • NP - Das Benutzerkonto hat kein Passwort.
  • PS - Das Benutzerkonto hat ein verwendbares Passwort.

Vorsicht: In Debian-basierten Systemen wird der Passwortstatus als L bezeichnet , N , P bzw..

Benutzerkennwort in Linux festlegen

Sie können sich als passwortloser Benutzer anmelden, das ist völlig in Ordnung. Es wird jedoch nicht empfohlen! Sie müssen ein sicheres Passwort mit mindestens 8 Zeichen festlegen, einschließlich Großbuchstaben, Kleinbuchstaben, Sonderzeichen und einer Zahl.

Um ein Passwort für ein Benutzerkonto in Linux festzulegen, verwenden Sie passwd Befehl als root Benutzer wie unten.

Als Root-Benutzer:

# passwd ostechnix

Ersetzen Sie ostechnix durch Ihren eigenen Benutzernamen.

Überprüfen Sie nun den Passwortstatus des Benutzerkontos mit passwd Befehl:

# passwd -S ostechnix

Beispielausgabe:

ostechnix PS 2022-04-07 0 99999 7 -1 (Password set, SHA512 crypt.)

Benutzerkonten unter Linux sperren

Manchmal möchten Sie die Benutzerkonten einfach mit leeren Passwörtern sperren. Suchen Sie in diesem Fall zuerst die Benutzer mit leeren Passwörtern wie oben beschrieben und sperren Sie sie mit passwd Befehl mit -l als root kennzeichnen Benutzer wie unten.

# passwd -l ostechnix

Beispielausgabe:

Locking password for user ostechnix.
passwd: Success

Überprüfen Sie nun den Status des Benutzerkontos:

# passwd -S ostechnix

Beispielausgabe:

ostechnix LK 2022-04-07 0 99999 7 -1 (Password locked.)

Sehen? Der Benutzer wurde gesperrt. Er kann sich nicht mehr am System anmelden.

Sie können auch den usermod verwenden Befehl mit -L (Großbuchstabe L) Flag, um einen Benutzer zu sperren.

# usermod -L ostechnix

Benutzerkonten unter Linux entsperren

Um die passwortlosen Benutzer in Linux zu entsperren, verwenden Sie entweder passwd Befehl oder usermod Befehl mit -p als root Benutzer.

# passwd ostechnix

Geben Sie das Passwort zweimal ein, um das Passwort zu entsperren.

Entsperren von Benutzern mit leerem Passwort mit usermod Befehl nicht möglich ist, sollten Sie mit usermod -p ein Passwort setzen um das Passwort des Benutzers zu entsperren.

# usermod -p <password-here> ostechnix

Schlussfolgerung

In diesem Tutorial haben wir erklärt, was eine Shadow-Passwortdatei ist und welchen Zweck diese Datei in Linux hat. Dann haben wir über verschiedene Befehle diskutiert, um alle Benutzerkonten zu finden, die kein Passwort in Linux haben. Schließlich haben wir gelernt, wie man ein Passwort für einen Benutzer festlegt und wie man die Benutzer in Linux sperrt und entsperrt.


Linux
  1. So löschen Sie Benutzerkonten mit Home-Verzeichnis in Linux

  2. SSH-Passwortautomatisierung in Linux mit sshpass

  3. Installieren Sie WordPress unter Linux mit Apache

  4. So erlauben Sie ssh mit leeren Passwörtern in Linux

  5. Panikpasswort unter Linux

So ändern oder setzen Sie das Benutzerkennwort in Linux

Vollständiges Handbuch zur Benutzerverwaltung unter Linux

Ändern Sie Benutzerkonten mit dem Usermod-Befehl

Linux passwd-Befehl – ​​Benutzerkennwort ändern

Wie schütze ich GRUB mit einem Passwort unter Linux?

Durchführen von Linux-Passwortzurücksetzungen [Schritt für Schritt]