SelfLinux Grundlagen An- und Abmelden | SelfLinux-0.13.0

| An- und Abmelden | Autor Formatierung GPL

#### 1 Anmelden und Abmelden

#### 1.1 Nach dem Bootvorgang

Linux hat gebootet und wartet auf die Anmeldung eines Benutzers. Der schlichte Login-Prompt soll jedoch nicht darüber hinwegtäuschen, dass ein Linux-System bereits zu diesem Zeitpunkt voll einsatzfähig ist. Befindet sich der Rechner beispielsweise in einem Netzwerk, ist er jetzt schon in der Lage, Netzwerkanfragen anderer Rechner pflichtgemäß zu beantworten. Diese Dienste im Hintergrund sind von der Anmeldung eines Benutzers, auch der des Benutzers root, völlig unabhängig.

Wenn Linux Sie mit einer grafischen Oberfläche zum Anmelden empfängt, wurde bereits Vorarbeit von anderer Seite geleistet. Die neueren Distributionen bieten dies meist an, damit Benutzer gar nicht erst mit der gefürchteten Kommandozeile ( Shell) in Kontakt treten. Da wir Linux jedoch auf den Grund gehen wollen, betrachten wir den Anmeldevorgang am Prompt etwas genauer. Das Thema Display Manager wird weiter unten behandelt.

#### 1.2 Das erste Einloggen

Ein Benutzerkonto in der EDV besteht immer mindestens aus einem Benutzernamen und einem Passwort. Diese beiden Daten sind auch unter Linux erforderlich, um sich erfolgreich anmelden zu können. Hier unterscheidet sich Linux von einigen der Betriebssysteme Microsofts, bei denen man ohne Anmeldung sofort den Rechner benutzen kann. Die Mehrbenutzerfähigkeiten von Linux machen Benutzerkonten notwendig. Wenn Sie Ihren Linux-Rechner selbst installiert haben, mussten Sie während des Installationsvorgangs zu irgendeinem Zeitpunkt ein Passwort für den Benutzer root angeben. root ist auf jedem Linux-System zu finden und mit besonders weitreichenden Rechten zur Systemadministration ausgestattet. Vorläufig können Sie sich ausschließlich als der Benutzer root beim System anmelden. Geben Sie daher ein:

login: root password: ***

wobei *** für das Passwort steht, das Sie während des Installationsvorganges angegeben haben. Die Eingabe des Passwortes wird dabei in der Konsole aus Sicherheitsgründen in aller Regel nicht angezeigt. Einige Distributionen geben Ihnen während der Installation auch die Möglichkeit, einen Beispielnutzer anzulegen. Wenn Sie dies getan haben, sollten Sie sich zunächst nur unter diesem Konto anmelden. Ein Grundsatz für die Arbeit mit Linux, den ein Linux-Neuling gar nicht ernst genug nehmen kann, lautet: Arbeite niemals als root, wenn es nicht unbedingt notwendig ist! Dieser Grundsatz gilt wohlgemerkt auch für erfahrene Linux-Benutzer. Der Neuling sollte sich dies jedoch ganz besonders zu Herzen nehmen, um das frisch installierte Linux-System vor allzu großem Erkundungstrieb zu schützen. Sollte Ihr System von einem Administrator eingerichtet worden sein, hat dieser sicherlich ein Konto für Sie vorbereitet und Ihnen die Anmeldedaten mitgeteilt. Auch dann können Sie dem folgenden Beispiel folgen:

login: <beispielname> password: ***

Verfügen Sie jedoch lediglich über einen root-Zugang, so wird Ihre erste (und vorläufig hoffentlich letzte) Handlung als root das Anlegen eines neuen Benutzers sein.

Wird die Anmeldung vom System akzeptiert, startet eine sogenannte Benutzersitzung. Darin startet zunächst ein Kommandozeileninterpreter, auch Shell genannt. Die Shell signalisiert ihre Bereitschaft für eine Eingabe mit dem sogenannten Prompt und erwartet die Eingabe von Kommandos oder das Starten von Programmen per Tastatur durch den Benutzer.

#### 1.3 Einen Standardbenutzer anlegen

Die meisten Distributionen bieten das Anlegen neuer Benutzer über die komfortable Oberfläche ihrer eigenen, spezifischen Konfigurationswerkzeuge an. Hier soll das Anlegen eines neuen Benutzers per Kommando beschrieben werden:

Das Kommando zum Anlegen eines Benutzers ist useradd. Die notwendigen Benutzerinformationen werden useradd als Parameter übergeben:

root@linux ~# useradd -g users -d /home/<benutzername> -m <benutzername>

Die Option -g (group) ordnet den neuen Benutzer einer Gruppe mit bestimmten Rechten zu. -d (directory) gibt ein Heimatverzeichnis für den Benutzer an, und -m sorgt dafür, dass dieses Heimatverzeichnis inklusive einer Reihe wichtiger Initialisierungsdateien sofort angelegt wird. Nach dem Aufruf von useradd ist der neu angelegte Benutzer jedoch noch deaktiviert. Um ihn zu aktivieren, müssen Sie ihm noch ein Passwort zuweisen. Dies geschieht mittels des Kommandos

root@linux ~# passwd <benutzername> root@linux ~# Kennwort eingeben root@linux ~# Kennwort bestätigen

Nach dem Absetzen des Kommandos fordert Linux Sie auf, ein Passwort einzugeben. Wie üblich muss die Eingabe danach noch einmal bestätigt werden. Stimmen die Passwörter überein, ist der neue Benutzer vollständig eingerichtet und aktiviert. Sie können sich nun mittels exit als root abmelden und mit diesen neuen Benutzerdaten wieder anmelden. Als gewöhnlicher Nutzer ohne die Administrationsrechte von root können Sie sich sicher sein, keine wichtigen Systemdateien zu beschädigen.

#### 1.4 Textkonsolen

Linux bietet Ihnen standardmäßig die Möglichkeit, bis zu 6 Textkonsolen zu benutzen. Auf jeder Konsole ist eine separate Anmeldung erforderlich. Der Wechsel zwischen den Konsolen erfolgt mittels der Tastenkombinationen `Alt+``F1` bis `Alt+``F6`. Die Anzahl von 6 Konsolen (auch virtuelle Terminals) wird in der Datei /etc/inittab festgelegt. Der Vorteil dieser Möglichkeit ist, die Arbeit durch die Nutzung mehrerer Konsolen besser zu strukturieren. Möglich ist dabei die Verteilung der Arbeit eines Benutzers auf mehrere Arbeitsflächen ebenso wie die Anmeldung mehrerer unterschiedlicher realer Benutzer. Ihrer Fantasie beim Einsatz der Konsolen sind dabei keine Grenzen gesetzt.

#### 1.5 Technische Hintergründe

Linux bietet Ihnen sogenannte virtuelle Terminals zur Benutzung an. Der Begriff Terminal stammt aus der Großrechnerwelt und bezeichnet dort den Anschluss eines Bildschirms mit Tastatur an einen Rechner. Aufgrund der hohen Kosten für diese Rechenanlagen waren meist viele Benutzer über solche Terminals mit einem Rechner verbunden. Terminals unterscheiden sich jedoch auf elektronischer Ebene stark von der heute üblichen Monitor/Tastatur-Konstruktion.

Linux emuliert diese gleichsam historische Situation durch seine virtuellen Terminals. Die gemeinsame Beschränkung virtueller Terminals und klassischer Terminals liegt in der geringen Fähigkeit zur Darstellung grafischer Information.

Nach dem Booten startet der Kernel das Programm /sbin/init, das eine Vielzahl von Aufgaben zu erledigen hat. Eine dieser Aufgaben ist der Aufruf des Programmes mingetty. mingetty ist eine minimale Version des Programms getty, Es ist für die Öffnung der einzelnen virtuellen Terminals zuständig und legt deren Modus fest. Die Terminals sind jeweils als tty1, tty2 (tty für "Teletype") usw. bezeichnet und intern speziellen Gerätedateien zugeordnet. mingetty erzeugt auch die Ausgabe einer Zeile wie:

Welcome to SuSE Linux 7.3 (i386) - Kernel 2.4.14 (tty1)

die es aus der Datei /etc/issue liest. Schließlich ruft es das Programm /bin/login auf, das die eigentliche Anmeldung des Benutzers übernimmt. login gibt einen Prompt auf dem Bildschirm aus und wartet auf die Eingabe des Benutzernamens. War die Anmeldung erfolgreich, so zeichnet sich login für eine Ausgabe wie

1 failure since last login. Last was 14:07:35 on tty1. You have new mail in /var/spool/mail/<benutername> Last login Wed Dez 22 11:15:24 on tty1 Have a lot of fun...

verantwortlich. Wie Sie sehen, erhalten Sie eine Reihe nützlicher Auskünfte über fehlgeschlagene Anmeldeversuche, neue E-Mail und die letzte Anmeldung, und natürlich ist auch diese Ausgabe konfigurierbar. Schließlich startet login das Programm, das dem Benutzer in der Datei /etc/passwd zugeordnet ist. Im allgemeinen wird dies eine Shell sein, unter Linux praktisch immer die Bourne again shell (bash). Von all dem müssen Sie als Benutzer eigentlich nichts wissen. Es soll jedoch verdeutlicht werden, dass schon die einfachsten Vorgänge häufig komplizierte technische Hintergründe haben. Während andere Betriebssysteme es häufig gar nicht ermöglichen, auf solche Vorgänge Einfluss zu nehmen, erweist sich Linux in dieser Hinsicht als hochgradig konfigurierbar. Von einem gewissen technischen Verständnis werden auch Sie als Benutzer profitieren.

#### 1.6 Display Manager

Auch wenn Linux Sie bereits in grafischem Gewand empfängt, kommen Sie um eine ordnungsgemäße Anmeldung nicht herum. Die Anmeldung wird in diesem Fall lediglich von anderen Programmen bereitgestellt. Bevor diese Programme jedoch in Aktion treten können, müssen Grafikkarte und Monitor der Arbeitsstation korrekt angesteuert werden, um überhaupt eine grafische Oberfläche erzeugen zu können. Unter Linux wird dies immer über das sogenannte X Window System erledigt. X ist ein Programm wie jedes andere und vom eigentlichen Betriebssystem unabhängig.

Parallel zu X ist auch weiterhin eine Anmeldung auf den Textkonsolen über den Mechanismus init-mingetty-login möglich. Sie gelangen zu den Konsolen, indem Sie eine der Tastenkombinationen Strg-Alt-F1 bis Strg-Alt-F6 ausführen. Dort empfängt Sie wieder der oben beschriebene Login. Zwischen den einzelnen tty's können Sie nun wieder mit `Alt+``F1` bis `Alt+``F6` wechseln. Aus dem Textmodus zurück in die Fensterwelt gelangen Sie über die Tastenkombination `Alt+``F7`.

X ist keineswegs in der Lage eine Benutzeranmeldung durchzuführen, es ist allein für die Darstellung grafischer Elemente zuständig. Hierzu ist ein sogenannter Display Manager notwendig, welcher allerdings die Dienste von X in Anspruch nimmt. Ein übliches Programm für diese Zwecke ist der X Display Manager xdm. Nahe Verwandte des xdm, die immer mehr Verbreitung finden, sind der kdm und der gdm. Folgende Abbildung zeigt den K Display Manager kdm:

KDM

Der Anmeldung mittels eines Display Managers liegt ein grundlegend anderer Mechanismus zugrunde. Als Benutzer geben Sie jedoch in beiden Fällen Ihren Benutzernamen und ein Passwort ein und öffnen damit eine Benutzersitzung. Da es sich bei diesem Prozedere im einen wie im anderen Fall lediglich um ablaufende Programme handelt, ist klar, dass der Lauf des Betriebssystems von einer Anmeldung oder Abmeldung völlig unabhängig ist. Schauen wir uns zum Abschluss dieses Themas nun also an, wie Sie eine Sitzung beenden können.

#### 1.7 Wieder abmelden

Zur Abmeldung existiert ein eigenes Kommando, das Kommando logout. Dabei handelt es sich um ein sogenanntes eingebautes Kommando der bash. Wenn Sie logout eingeben, wird Ihre Login-Shell beendet, und das login Programm übernimmt wieder die Kontrolle über das jeweilige tty. Das logout Kommando wirkt nur bei einem Aufruf von der eigentlichen Login-Shell aus. Haben Sie innerhalb Ihrer Login-Shell weitere Shells geöffnet, was problemlos möglich ist, funktioniert das Kommando logout nicht. In diesem Fall müssen Sie stattdessen exit eingeben.

Was bedeutet es, dass login wieder die Kontrolle über das tty übernimmt? Woher weiß login überhaupt von seinem Glück? Vereinfacht gesagt meldet jedes Programm unter Linux (und auch anderen Betriebssystemen) an seinen Aufrufer zurück, dass es beendet wurde. Zu diesem Zweck schickt es einen sogenannten Rückgabewert an das aufrufende Programm. In unserem Fall wurde die bash von login gestartet. login erhält also einen Rückgabewert, der ihm anzeigt, dass die Benutzersession ordnungsgemäß beendet wurde. Es reagiert auf diese Rückmeldung, indem es sofort wieder eine Aufforderung zur Anmeldung auf dem Bildschirm ausgibt.

Wenn die Anmeldung über einen Display Manager erfolgt ist, können Sie sie in praktisch allen Umgebungen über die rechte Maustaste und dann das Listenelement Abmelden, Exit, Logout oder ähnliche Einträge beenden. Der technische Ablauf unterscheidet sich wieder von einer gewöhnlichen Abmeldung, da ein Display Manager die Verwaltung einer Benutzersitzung, wie schon angedeutet, auf ganz andere Weise durchführt. In jedem Fall versetzt er sich wieder in einen Zustand, der eine neue Anmeldung ermöglicht. Wir haben damit alle Vorbereitungen getroffen, um einige weitere Linux-Eigenschaften zu erkunden. Im nächsten Abschnitt beginnen wir mit einigen Bemerkungen zu der Verwendung von Kommandos.

#### Autor

- Matthias Kleine
  kleine_matthias@gmx.de

#### Formatierung

- Johnny Graber
  selflinux@jgraber.ch