25.9 login
Passworteingabe
Nachdem der Benutzername eingegeben worden ist, startet getty das Programm /sbin/login. Dieses Programm gibt die Aufforderung zur Passworteingabe auf dem Terminal aus. login verschlüsselt den eingegebenen Passwort-String und vergleicht ihn mit dem ebenfalls verschlüsselten Passwort-String des Benutzereintrags in der Passwortdatei /etc/shadow. Stimmen beide verschlüsselten Passwort-Strings überein, so wurde das Passwort korrekt eingegeben.
Anschließend setzt login die User- und Gruppen-ID des Benutzers. Hinzu kommt das Setzen einiger Umgebungsvariablen.
Variable | Beschreibung |
HOME | Gibt das Heimatverzeichnis des Benutzers (/home/user) an. |
PATH |
PATH legt die Suchpfade für Programmdateien fest. |
SHELL | Die Login-Shell des Benutzers |
Gibt die Mailbox des Benutzers an. | |
LOGNAME | Diese Variable enthält den Login-Namen des Benutzers. |
25.9.1 Shell-Start
Nachdem login seine Tätigkeiten verrichtet hat, werden die Willkommensmeldung und die Meldung des Tages ausgegeben. Letztere findet sich in der Datei /etc/motd. <»motd« steht für »message of the day«.
Diese Datei wurde besonders in den Anfängen der Unix-Netzwerke dazu benutzt, um die Systembenutzer über Neuigkeiten auf dem Großrechner, an dem sie arbeiteten, zu informieren. Damals musste noch für Rechenzeit, die man heute in jedem Handheld-PC vorfindet, teuer bezahlt werden – und viele Wissenschaftler waren froh darüber, dass sie diese nutzen durften. Um sich in diese Zeit zu versetzen, empfielt sich im Übrigen die Lektüre des Buches »Kuckucksei«.>
Anschließend startet login die für den Benutzer als Default-Shell festgelegte Shell. Unter Linux-Systemen ist dies in der Regel die bash. <Fast immer ist die sh (Bourne-Shell) ein Link auf die bash (Bourne Again Shell).>
Der Benutzer kann nach dem Shell-Start die Arbeit am System beginnen und befindet sich dabei – sofern es in der /etc/passwd festgelegt und vorhanden ist – in seinem Heimatverzeichnis oder andernfalls im Root-Verzeichnis.
Last login: Thu Aug 4 16:37:34 2005 from 192.168.0.5 Linux 2.4.29. 43rd Law of Computing: Anything that can go wr fortune: Segmentation violation -- Core dumped swendzel@yleigu:~#
Listing 25.28 Start der Terminal-Sitzung
25.9.2 Beenden einer Terminal-Sitzung
Die Beendigung einer Terminal-Sitzung wird je nach Shell etwas anders durchgeführt. Generell gilt: Das Kommando exit funktioniert immer. Auf einigen Shells ist auch die Tastenkombination Strg+D ausreichend, um die Shell zu verlassen. Die bash liefert bei dieser Kombination jedoch die Ausgabe »Use logout/exit to leave the shell.«. Da wären wir auch schon bei Möglichkeit Numero drei – dem Kommando logout.
Dieses Kommando dient zum Verlassen der Login-Shell, jedoch nicht zum Verlassen einer normalen Shell-Session.
Das exit-Kommando wird zum Verlassen der Shell benutzt, eignet sich jedoch auch zum Verlassen einer Login-Shell. Das Kommando logout wird nur zum Verlassen der Login-Shell verwendet. Einige Shells (wie die Z-Shell) bieten die Tastenkombination Strg+D zum Verlassen der Shell an.