Früher stand das verschlüsselte Passwort in der Datei /etc/passwd, die für alle User lesbar sein muss. Das warf ein Sicherheitsproblem auf, denn jeder User konnte jetzt alle Passwörter einsehen, zwar nur in verschlüsselter Form, aber immerhin. Manche User versuchten jetzt etwa alle Wörter eines Wörterbuchs mit dem Algorithmus zu verschlüsseln, mit dem auch das Passwort verschlüsselt wird und dann die Ergebnisse mit denen dieser Datei zu vergleichen. Damit konnten Passwörter erspäht werden.

An der Tatsache, dass ale User lesenden Zugriff auf die Datei /etc/passwd haben müssen, läßt sich nicht rütteln. Aber die Abspeicherung des Passworts selbst mußte nicht zwangsweise in dieser Datei stattfinden. Aus diesem Grund begann man schon früh, eine eigene Datei anzulegen, die die Passwörter der User enthält und die nicht für alle lesbar ist. Diese Datei wurde /etc/shadow (Schatten) genannt. Sie ist zwar vom Login-Prozess lesbar, aber nicht von allen Usern. Wie die /etc/passwd Datei ist sie eine einfache Textdatei in der jeder User eine Zeile belegt. Auch hier sind die einzelnen Felder der Datensätze mit Doppelpunkt getrennt.

Username: Passwort: Alter: min. Alter: max. Alter: Warnzeit: Pufferzeit: Ungültigkeit: Reserviert

Die einzelnen Felder haben folgende Bedeutung:

Username

Der Username, wie in /etc/passwd

Passwort

Das verschlüsselte Passwort. Wenn hier statt eines verschlüsselten Passworts nur ein Sternchen steht, so bedeutet das, dass es kein gültiges Passwort gibt, mit dem sich dieser User einloggen kann. Das ist meist bei Verwaltungsusern (wie etwa bin, daemon, lp, …) der Fall. Nur der Systemverwalter kann sich mit dem su-Befehl in diese User verwandeln.

Alter

Tage vom ersten Januar 1970 zu dem Tag, an dem das Passwort das letzte Mal geändert wurde.

min. Alter

Anzahl der Tage, bis ein Passwort geändert werden darf.

max. Alter

Anzahl der Tage, bis wann ein Passwort geändert werden muß.

Warnzeit

Anzahl der Tage, vor dem Auslaufen der Gültigkeit des Passworts, ab denen der User auf das baldige Auslaufen seines Passworts hingewiesen wird.

Pufferzeit

Anzahl der Tage, die nach dem Auslaufen des Passworts verstreichen, bis der Account tatsächlich ungültig wird.

Ungültigkeit

Tage vom ersten Januar 1970 zu dem Tag, an dem das Passwort ungültig wird.

Reserviert

Ein reserviertes Feld für zukünftige Erweiterungen.

Die beiden ersten Angaben (Username und Passwort) müssen zwingend gemacht werden. Mit den folgenden Angaben können sicherheitsrelevante Einstellungen vorgenommen werden.

Das Passwort darf nicht geändert werden, bis die entsprechende Anzahl von Tagen (min.Alter) seit der letzten Änderung vergangen sind und muß geändert werden, sobald die maximale Anzahl von Tagen (max.Alter) seit der letzten Änderung verstrichen sind. Wenn das Feld min.Alter eine größere Zahl als max.Alter enthält, so darf ein User sein Passwort gar nicht ändern.

Ein Passwort wird ungültig, wenn es nach der angegebenen Anzahl der maximalen Gültigkeitsdauer (max.Alter) und der anschließenden Pufferzeit nicht geändert wurde.

Ein Passwort wird auch grundsätzlich ungültig, wenn das letzte gültige Feld (Ungültigkeit) ausgefüllt ist und die entsprechende Anzahl von Tagen erreicht ist. Damit kann ein begrenzter Zugriff implementiert werden, der an einem bestimmten Tag endet.