In Linux werden Kennwörter sicher in Systemdateien und Datenbanken gespeichert, um die Benutzerauthentifizierung und Zugriffskontrolle zu verwalten. Für Systemadministratoren und Sicherheitsexperten ist es wichtig zu verstehen, wo Linux Passwörter speichert und wie sie gesichert werden.

1. Die Datei /etc/passwd (Benutzerinformationen)

Die Datei /etc/passwd enthält eine Liste aller Systembenutzer mit den grundlegenden Kontodaten.

Beispiel Eintrag in /etc/passwd:

username:x:1001:1001:User Name:/home/username:/bin/bash

Erklärte Felder:

  • username: Der Anmeldename des Benutzers.
  • x: Platzhalter, der anzeigt, dass das Passwort in einer separaten Datei gespeichert wird.
  • 1001:1001: Benutzer-ID (UID) und Gruppen-ID (GID).
  • Benutzer-Name: Vollständiger Name oder Beschreibung des Benutzers.
  • /home/Benutzername: Das Heimatverzeichnis des Benutzers.
  • /bin/bash: Die dem Benutzer zugewiesene Standardshell.

2. Die Datei /etc/shadow (verschlüsselte Passwörter)

Linux speichert tatsächliche Passwort-Hashes in der Datei /etc/shadow, auf die nur der Benutzer root Zugriff hat.

Beispiel Eintrag in /etc/shadow:

username:$6$abc123$XYZhashedpassword:18528:0:99999:7:::

Felder werden erklärt:

  • $6$: Gibt den Verschlüsselungsalgorithmus an (in diesem Fall SHA-512).
  • abc123: Das zum Hashing des Kennworts verwendete Salz.
  • XYZhashedpassword: Das tatsächliche gehashte Kennwort.
  • 18528: Datum seit der letzten Passwortänderung.
  • 0:99999:7: Informationen zur Alterung des Kennworts (minimale und maximale Kennwortgültigkeit).

Überprüfung des Passwort-Hash-Algorithmus:

Um den verwendeten Hashing-Algorithmus zu sehen, führen Sie aus:

cat /etc/shadow | grep username

3. Die Datei /etc/group (Gruppeninformationen)

Die Datei /etc/group enthält Informationen über Benutzergruppen und Gruppenmitgliedschaften.

Beispiel Eintrag in /etc/group:

developers:x:1002:username1,username2

4. Das Verzeichnis /var/lib/AccountsService/ (GUI-Benutzerkonten)

Einige Linux-Distributionen speichern Benutzerkonto-Einstellungen für GUI-Anmeldungen in:

/var/lib/AccountsService/users/

Diese Dateien enthalten Metadaten wie Anzeigenamen und Sitzungseinstellungen, aber keine Kennwörter.

5. Befehle zur Passwortverwaltung

Benutzerpasswort ändern:

passwd username

Informationen zur Passwortalterung anzeigen:

chage -l username

Benutzer dazu zwingen, ihr Passwort bei der nächsten Anmeldung zu ändern:

passwd --expire username

6. Wie Linux Passwörter sicher macht

  • Hashing und Salting: Kennwörter werden niemals im Klartext gespeichert. Stattdessen werden sie gehasht und gesalzen, um einen direkten Abruf zu verhindern.
  • Ausschließlicher Root-Zugriff: Dateien wie /etc/shadow sind nur für den Root-Zugriff freigegeben.
  • Steckbare Authentifizierungsmodule (PAM): Die Linux-Authentifizierung wird von PAM verwaltet, das die Sicherheitsrichtlinien für Passwörter durchsetzt.

Schlussfolgerung

Linux speichert Benutzeranmeldeinformationen sicher in Systemdateien wie /etc/passwd und /etc/shadow und gewährleistet so einen verschlüsselten und eingeschränkten Zugriff. Das Verständnis dieser Speichermechanismen ist für die Systemsicherheit und die Benutzerverwaltung unerlässlich.