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

Verstehen der /etc/shadow-Datei

Es gibt mehrere verschiedene Authentifizierungsschemata, die auf Linux-Systemen verwendet werden können. Das am häufigsten verwendete und standardmäßige Schema besteht darin, die Authentifizierung anhand von /etc/passwd durchzuführen und /etc/shadow Dateien.

/etc/shadow ist eine Textdatei, die Informationen über die Passwörter der Benutzer des Systems enthält. Es gehört dem Benutzer root und der Gruppe shadow und hat 640 Berechtigungen.

/etc/shadow Formatieren Sie #

Die /etc/shadow Datei enthält einen Eintrag pro Zeile, die jeweils ein Benutzerkonto darstellen. Sie können den Inhalt der Datei mit einem Texteditor oder einem Befehl wie cat anzeigen :

sudo cat /etc/shadow

Typischerweise beschreibt die erste Zeile den Root-Benutzer, gefolgt vom System und normalen Benutzerkonten. Neue Einträge werden am Ende der Datei angehängt.

Jede Zeile der Datei /etc/shadow Datei enthält neun durch Kommas getrennte Felder:

mark:$6$.n.:17736:0:99999:7:::
[--] [----] [---] - [---] ----
|      |      |   |   |   |||+-----------> 9. Unused
|      |      |   |   |   ||+------------> 8. Expiration date
|      |      |   |   |   |+-------------> 7. Inactivity period
|      |      |   |   |   +--------------> 6. Warning period
|      |      |   |   +------------------> 5. Maximum password age
|      |      |   +----------------------> 4. Minimum password age
|      |      +--------------------------> 3. Last password change
|      +---------------------------------> 2. Encrypted Password
+----------------------------------------> 1. Username
  1. Nutzername. Die Zeichenfolge, die Sie eingeben, wenn Sie sich beim System anmelden. Das auf dem System vorhandene Benutzerkonto.

  2. Verschlüsseltes Passwort. Das Passwort verwendet den $type$salt$hashed Format. $type ist die Methode des kryptografischen Hash-Algorithmus und kann die folgenden Werte haben:

    • $1$ – MD5
    • $2a$ – Kugelfisch
    • $2y$ – Eksblowfish
    • $5$ – SHA-256
    • $6$ – SHA-512

    Wenn das Passwortfeld ein Sternchen (* ) oder Ausrufezeichen (! ), kann sich der Benutzer nicht mit Kennwortauthentifizierung beim System anmelden. Andere Login-Methoden wie schlüsselbasierte Authentifizierung oder Wechsel zum Benutzer sind weiterhin erlaubt.

    In älteren Linux-Systemen wurde das verschlüsselte Passwort des Benutzers in /etc/passwd gespeichert Datei.

  3. Letzte Passwortänderung. Dies ist das Datum, an dem das Passwort zuletzt geändert wurde. Die Anzahl der Tage wird seit dem 1. Januar 1970 (Epochendatum) gezählt.

  4. Mindestalter für Passwörter. Die Anzahl der Tage, die vergehen müssen, bevor das Benutzerkennwort geändert werden kann. Normalerweise ist es auf Null gesetzt, was bedeutet, dass es kein Mindestalter für Passwörter gibt.

  5. Maximales Kennwortalter. Die Anzahl der Tage, nach denen das Benutzerkennwort geändert werden muss. Standardmäßig ist diese Nummer auf 99999 eingestellt .

  6. Warnfrist. Die Anzahl der Tage, bevor das Passwort abläuft, während der der Benutzer gewarnt wird, dass das Passwort geändert werden muss.

  7. Inaktivitätszeitraum. Die Anzahl der Tage nach Ablauf des Benutzerkennworts, bevor das Benutzerkonto deaktiviert wird. Normalerweise ist dieses Feld leer.

  8. Haltbarkeitsdatum. Das Datum, an dem das Konto deaktiviert wurde. Es wird als Epochendatum dargestellt.

  9. Ungebraucht. Dieses Feld wird ignoriert. Es ist für zukünftige Verwendung reserviert.

Die /etc/shadow Datei sollte nicht von Hand bearbeitet werden, es sei denn, Sie wissen, was Sie tun. Verwenden Sie immer einen Befehl, der für diesen Zweck entwickelt wurde. Um beispielsweise ein Benutzerkennwort zu ändern, verwenden Sie passwd verwenden Sie den Befehl chage, um die Informationen zur Kennwortalterung zu ändern Befehl.

Beispieleintrag #

Schauen wir uns das folgende Beispiel an:

linuxize:$6$zHvrJMa5Y690smbQ$z5zdL...:18009:0:120:7:14::

Der obige Eintrag enthält Informationen über das Passwort des Benutzers „linuxize“:

  • Das Passwort wird mit SHA-512 verschlüsselt (das Passwort wird zur besseren Lesbarkeit abgeschnitten).
  • Das Passwort wurde zuletzt am 23. April 2019 geändert - 18009 .
  • Es gibt kein Mindestalter für Passwörter.
  • Das Passwort muss mindestens alle 120 Tage geändert werden.
  • Der Benutzer erhält sieben Tage vor dem Ablaufdatum des Passworts eine Warnmeldung.
  • Wenn der Benutzer 14 Tage nach Ablauf des Passworts nicht versucht, sich beim System anzumelden, wird das Konto deaktiviert.
  • Es gibt kein Ablaufdatum für das Konto.

Schlussfolgerung #

Die /etc/shadow file speichert Aufzeichnungen über verschlüsselte Passwörter von Benutzern sowie andere passwortbezogene Informationen.

Wenn Sie Fragen oder Feedback haben, können Sie gerne einen Kommentar hinterlassen.


Linux
  1. Verstehen des Verzeichnisses /etc/sysconfig

  2. Verstehen der /etc/exports-Datei

  3. Grundlegendes zur Konfigurationsdatei /etc/profile unter Linux

  4. Unterschied zwischen ! vs !! vs * in /etc/shadow

  5. Was ist die Größenbeschränkung für /etc/hosts?

Verstehen der /etc/passwd-Datei

/etc/group-Datei verstehen

Verstehen der /etc/fstab-Datei unter Linux

Die Dateien /proc/mounts, /etc/mtab und /proc/partitions verstehen

Passwort für /etc/shadow manuell generieren

BASH:Überprüfen Sie in /etc/shadow, ob das Benutzerkennwort gesperrt ist