Um das Zusammenspiel der beschriebenen Dateien /etc/passwd und /etc/shadow nochmal zu verdeutlichen, wird hier kurz der genaue Vorgng bei einem Login beschrieben.

Nachdem der Getty-Prozeß einen Usernamen von der Tastatur gelesen hat, startet er das Programm login und gibt ihm als Parameter den gelesenen Usernamen mit.

Das login-Programm frägt nun nach dem Passwort des Users und ließt es von der Tastatur ein, ohne es allerdings darzustellen. Sobald das Passwort gelesen ist, wird es vom Login-Programm verschlüsselt. Der verwendete Verschlüsselungsmechanismus ist nicht reversibel, das heißt, das verschlüsselte Passwort kann nicht mehr entschlüsselt werden.

Das verschlüsselte Passwort wird jetzt mit dem Passwort der Datei /etc/shadow verglichen. Stimmen die beiden überein, so wird der Zugang gestattet, ansonsten frägt login nochmal nach dem Passwort. Diese Nachfrage wird drei mal durchgeführt, nach drei falschen Passwörtern bricht login ab, getty frägt erneut nach dem Usernamen…

Wenn das Passwort gestimmt hat, so wechselt login in das Heimatverzeichnis des Users, der sich gerade eingeloggt hat, welches Verzeichnis das ist kann login ja auch der Datei /etc/passwd entnehmen. Jetzt startet login das Programm, das als letzter Eintrag in der /etc/passwd Datei steht, die Startshell. Die UserID und GruppenID werden als Umgebungsvariablen dieser Shell mitgegeben.

Erst jetzt fängt die Shell an, ihre eigentlichen Startvorgänge abzuarbeiten, sobald diese erledigt sind, hat der User das Kommando.

Schreibe einen Kommentar