Hash in der /etc/shadow

Aus Xinux Wiki
Version vom 11. August 2026, 15:48 Uhr von Thomas.will (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „== Der crypt-Hash im Detail == Ein Passwort-Hash in <code>/etc/shadow</code> ist kein einzelner Wert, sondern setzt sich aus mehreren Teilen zusammen, getrenn…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Der crypt-Hash im Detail

Ein Passwort-Hash in /etc/shadow ist kein einzelner Wert, sondern setzt sich aus mehreren Teilen zusammen, getrennt durch $-Zeichen:

$id$param$salt$hash

Beispiel:

$y$j9T$vBpeA3e2M/Xqum0Z2a6.s.$vfdB.NoNKArU/f1lDuKuafkJmk3taXo0L1irsJ5kUs1

Algorithmus-ID

Das erste Feld (y) gibt an, welcher Hash-Algorithmus verwendet wurde. yescrypt ist auf aktuellen Linux-Systemen (z. B. Debian, Fedora, Rocky Linux) der Standard.

ID Algorithmus
$1$ MD5 (veraltet, unsicher)
$5$ SHA-256
$6$ SHA-512
$2b$ bcrypt
$y$ yescrypt (aktueller Standard)

Parameter (Cost-Faktor)

Das zweite Feld (j9T) kodiert die Kostenparameter des Algorithmus – u. a. wie viel Speicher und Rechenzeit pro Hash-Berechnung nötig sind. Ein höherer Cost-Faktor macht das Verfahren absichtlich langsamer, um Bruteforce-Angriffe zu erschweren.

Salt

Das dritte Feld (vBpeA3e2M/Xqum0Z2a6.s.) ist das Salt – eine zufällige Zeichenfolge, die bei jedem passwd-Aufruf neu erzeugt wird.

  • Wird zusammen mit dem Passwort gehasht
  • Steht offen sichtbar im Hash (ist kein Geheimnis)
  • Sorgt dafür, dass zwei User mit identischem Passwort unterschiedliche Hashes erhalten
  • Verhindert Angriffe mit vorberechneten Rainbow-Tables

Hash

Das letzte Feld (vfdB.NoNKArU/f1lDuKuafkJmk3taXo0L1irsJ5kUs1) ist das eigentliche Ergebnis der Hash-Funktion, berechnet aus Passwort, Salt und Parametern. Der Vorgang ist eine Einwegfunktion – aus dem Hash lässt sich das Passwort nicht direkt zurückrechnen.