Druckversion

Die Login-Verwaltung

Übersicht Weiter

Unter Login-Verwaltung versuchen wir verschiedenen Varianten aufzuzeichnen, wie einem Benutzer der Zugang zum System ermöglicht werden kann.

Jede Standardinstallation kommt entweder mit einem Konsolen-Login oder einer grafischen Anmeldung daher. Im Fall des tristen Konsolenmodus gelangt bei nahezu allen Distributionen ein Programm namens mingetty zum Einsatz. Aber es existieren weitere Varianten eines initialen »Terminals«, welche das Anmelden am System steuern, Gettys, die ihre Stärken vor allem bei Dial-in- und Modem-Anmeldevorgängen beweisen.

An der grafischen Anmeldung schwingt ein X Display Manager das Zepter. In Zeiten von KDE delegieren die verbreiteten Distributionen die Aufgaben dem kdm, seltener wird man noch dem xdm begegnen und der gdm kontrolliert die Anmeldung an ein RedHat-Linux. In diesem Abschnitt sollen nur wenige einleitende Worte die Mächtigkeit des Konzepts verdeutlichen, die Display-Manager werden im Kapitel Login-Manager tiefgründig diskutiert.

Neben den den Anmeldevorgang steuernden Programmen gebührt der Datei /etc/login.defs eine wichtige Rolle. Wie der Name schon verdeutlicht, steuert sie in gewissem Maße das Verhalten der Startup-Programme.

Letztlich tragen auch /etc/securetty und Passwort zum Gelingen oder Scheitern einer Anmeldung bei.

Die Datei /etc/issue Zurück Anfang Weiter

Alle im folgenden Abschnitt beschriebenen »Getty« sind in der Lage, vor der Login-Aufforderung eine Mitteilung auf den Bildschirm auszugeben. Den Text dazu beziehen sie, wenn nicht explizit etwas anderes angegeben wurde, aus der Datei /etc/issue. In dieser Datei sind verschiedenste Ersatzdarstellungen zulässig, z.B. um den Rechnernamen oder die aktuelle Zeit einzublenden. Allerdings unterscheiden sich die »Gettys« hinsichtlich der unterstützten Platzhalter. Im Falle von mingetty könnte der Inhalt der Datei so aussehen:

user@sonne> cat /etc/issue

Willkommen auf Rechner \n, System \s Version \r!

Der Willkommensgruß kann diverse Platzhalter umfassen, die den Text in begrenztem Umfang dynamisch anpassen:

\b

Fügt die Baudrate der aktuellen Verbindung ein

\d

Steht für den aktuellen Tag

\l

Name des Terminals, an dem mingetty aktiv ist

\m

Architektur des Rechner

\n

Voller Rechnername (inklusive Domainname)

\o

Domainname

\r

Betriebssystemversion (Kernelrelease)

\s

Betriebssystemname

\t

Aktuelle Zeit

\u

Anzahl am System angemeldeter Benutzer

\v

Betriebssystemversion (Übersetzungszeit des Kernels)

Der Platzhalter \b wird nur von Gettys verstanden, die auch serielle Schnittstellen überwachen können.

Bei Verwendung von fbgetty muss anstatt des Backslashs (\) das Prozentzeichen verwendet werden (%d, %u,...). Da fbgetty sich noch in einem frühen Entwicklungsstadium befindet, wird es in der weiteren Diskussion keine Rolle spielen.

Gib mir ein Terminal Zurück Anfang Weiter

In historischen Zeiten der Mainframes ermöglichten physikalische Terminals den Zugang zu den sündhaft teuren Großrechnern. Ein Terminal war nichts weiter als eine Einheit aus Bildschirm und Tastatur, das über einen seriellen Anschluss am Rechner steckte. Als Software lief im Mainframe ein kleines Programm »Get's a TTY«, - oder kurz als getty bezeichnet, das die Anmeldung steuerte. Der Name »Getty« für Login-Programme ist geblieben, auch wenn physikalische Terminals heute nur noch in der Computerliteratur verbreitet sind.

Gettys tragen dafür Sorge, dass sich überhaupt jemand am System anmelden kann. Dazu überwachen sie serielle Geräte wie Virtuelle Terminals, Textterminals oder auch Modems. Ein Getty bringt die Login-Aufforderung auf den Bildschirm, es fragt nach dem Passwort und startet anschließend das Kommando login, das Benutzerkennzeichen und Passwort verifiziert und den Zugang zum Rechner gestattet bzw. ablehnt.

Gettys gibt es reihenweise und eines ist für einen Einsatzbereich besser geeignet, als es ein anderes vermag. Einige Gettys überwachen einzig die virtuellen Terminals, andere sind auf den Faxempfang spezialisiert. Die verbreiteten Vertreter der Gilde werden wir im folgenden Abschnitt kennen lernen. Zuvor seien die Aufgaben genannt, für dessen Erledigung Gettys herangezogen werden:

  • Ermöglichen einer Login-Sitzung (Passwortabfrage usw.)
  • Einstellen der Parameter eines Terminals (Spalten- und Zeilenanzahl, Übertragungsgeschwindigkeit, Echo...)
  • Ermöglichen von Einwahlverbindungen
  • Faxempfang
  • Voice-Boxen (Anrufbeantworter)

Automatischer Getty-Start

I.A. erwartet man von einem Getty, dass es mit den Starten des Systems das ihm zugedachte Device eröffnet und mit einer Login-Aufforderung aufwartet. Des Weiteren sollte es erneut starten, sobald eine Sitzung beendet wurde. Der begangene Weg, dies unter Linux zu erreichen, ist ein entsprechender Eintrag in der Datei /etc/inittab:

user@sonne> cat /etc/inittab | grep respawn
~~:S:respawn:/sbin/sulogin
1:123:respawn:/sbin/mingetty --noclear tty1
2:123:respawn:/sbin/mingetty tty2
3:123:respawn:/sbin/mingetty tty3
4:123:respawn:/sbin/mingetty tty4
5:123:respawn:/sbin/mingetty tty5
6:123:respawn:/sbin/mingetty tty6
#7:2:respawn:+/sbin/init.d/rx tty7
# mo:23:respawn:/usr/sbin/mgetty -s 38400 modem
# mo:23:respawn:/usr/lib/fax/faxgetty /dev/modem
# I6:23:respawn:/usr/sbin/vboxgetty -d /dev/ttyI6
# I7:23:respawn:/usr/sbin/vboxgetty -d /dev/ttyI7

Das obige System ist offensichtlich nur für ein Konsolenlogin konfiguriert (nicht zu Verwechseln mit einer Anmeldung übers Netz mit Programmen wie telnet oder ssh); als Getty gelangt mingetty zum Einsatz. Entscheidend ist die Angabe von respawn, die den Init-Prozess anweist, im Falle der Beendigung einer Sitzung das jeweilige Getty erneut zu starten (ein Getty-Prozess startet per exec ein Loginprogramm, welches wiederum bei erfolgreicher Anmeldung mittels exec bspw. eine Shell lädt).

Selbstverständlich steht es Root zu, ein Getty per Hand zu starten, jedoch kann er einen solchen Befehl nur absetzen, wenn auf dem entsprechenden Device (bspw. /dev/tty2, /dev/ttyS0...) noch kein Getty-Prozess am werkeln ist. Gerade bei von init kontrollierten Geräten genügt der gezielte Abschuss eines existierenden Prozesses herzlich wenig, da init selbst diesen ersetzen wird. Nur eine Änderung der Datei /etc/inittab mit anschließender Benachrichtigung von init (kill -1 1) wird hier weiterhelfen.

agetty Zurück Anfang Weiter

Das Alternative Linux-Getty ist das einfachste (bedingt) für Einwahlverbindungen geeignete Getty (da es keine Konfigurationsdatei verwendet). Allerdings besitzt es einen entscheidenden Nachteil: Wenn es selbst ein Modemdevice auf eingehende Verbindungen überwacht, ist das Gerät für ausgehende Verbindungen blockiert, selbst wenn noch kein Anruf entgegen genommen wurde. Aus diesem Grund wird agetty vornehmlich auf virtuellen Konsolen oder - wegen der Hardware gesteuerten Flusskontrolle - für den Anschluss eines physikalischen Terminals (Nullmodem...) angewandt.

agetty [Optionen] Baudrate[n] Port [Terminalemulation]

Die minimalen Argumente für »agetty« sind Port und eine Liste von zulässigen Baudraten. Port steht dabei für den Gerätenamen relativ zum Verzeichnis »/dev« oder für »-«. In letzterem Fall nimmt »agetty« an, dass seine Standardeingabe bereits mit einem Port verbunden ist. Bei Baudrate handelt es sich um eine komma-separierte Liste der unterstützten Geschwindigkeiten. Im Fall einer Modemverbindung startet »agetty« mit dem ersten angegeben Wert. Wird dieser von der Gegenstelle zurückgewiesen (brEAK), schaltet »agetty« auf die nächste Baudrate um.

Die Terminalemulation überschreibt den Wert der Shellvariablen TERM (wird oft initial von init gesetzt).

Des Weiteren werden folgende Optionen unterstützt:

-h

Aktiviert die Hardware gesteuerte Flusskontrolle

-i

Unterdrückt die Ausgabe des Inhalts von /etc/issue. Dies kann bei Modemverbindungen erforderlich sein, falls die Gegenseite nach konkreten Zeichenfolgen (Login, Password) sucht.

-f Datei

Verwendet die angegebene Datei anstatt /etc/issue

-I Initstring

Zeichenkette (zur Initialisierung eines Modems), die vor dem eigentlichen Senden an den Port geschickt wird.

-l Programm

Alternatives Login-Programm (anstatt /sbin/login).

-m

»agetty« versucht die Baudrate anhand der CONNECT-Zeichenkette zu erkennen.

-n

»agetty« fragt nicht nach einem Login-Namen. Sinnvoll ist die Option bspw, wenn als Login-Programm sulogin genutzt wird.

-t Sekunden

Wird innerhalb dieser Zeitspanne kein Nutzername eingegeben, bricht »agetty« ab.

-L

Das zu überwachende Terminal ist eine physikalische/virtuelle Konsole. »agetty« wartet nicht auf das Verbindungssignal (das bei Modemverbindungen eine neue Sitzung einleiten würde...).

-w

»agetty« wartet auf den Empfang eines Zeilenumbruchs oder Wagenrücklaufs, bevor es den Inhalt von /etc/issue an den Port sendet.
faxgetty Zurück Anfang Weiter

»Faxgetty« ist Bestandteil des Hylafax-Pakets zum Betrieb eines Faxservers unter Linux. Eine Abhandlung der Thematik findet der interessierte Leser im Kapitel »Netzwerk-Grundlagen« im Abschnitt Allgemeine Dienste, Faxserver.

getty und uugetty Zurück Anfang Weiter

Beide Programme stammen aus dem Paket »getty_ps«. »getty« dient der Anmeldung an der Virtuellen Konsole oder über ein physikalisches Terminal, während das Programm »uugetty« mit Einwahlleitungen umzugehen vermag.

Da das nachfolgend beschriebene »mgetty« die Funktionen beider Programme nicht nur in sich vereint, sondern mit weiteren Fähgkeiten aufwartet, werden »getty« und »uugetty« heute kaum noch verwendet. Auch wir werden diesen Getty-Vertretern nicht weiter auf den Grund gehen.

mgetty und vgetty Zurück Anfang Weiter

»Mgetty« ist eine Art Multitalent in Verbindung mit Modems. Es ermöglicht sowohl einen Einwahlserver (Terminalserver oder PPP-Server) als auch den Versand und Empfang von Faxen. Zum Betrieb eines Anrufbeantworters über ein analoges Modem ist »vgetty« aus demselben Paket erforderlich. Beide Gettys werden wir im entsprechenden Abschnitt in Allgemeine Dienste im Kapitel »Netzwerk-Grundlagen« abhandeln.

mingetty Zurück Anfang Weiter

mingetty verwenden heute alle gängigen Distributionen, um den Anmeldevorgang an den virtuellen Konsolen zu steuern. Der Name deutet den minimalen funktionellen Umfang bereits an, sodass mingetty sich nicht eignet, um bspw. eine serielle Modemleitung anzusprechen.

mingetty erwartet als Argument das Terminal-Device. Optional ermöglicht --long-hostname die Anzeige des vollständigen Rechnernamens vor dem Login-Prompt (Voreinstellung ist der Name vor dem ersten Punkt). --noclear verhindert das Löschen des Bildschirm vor Anzeige der Login-Aufforderung.

In der Voreinstellung verwendet mingetty »/sbin/login« als Login-Programm. Mit --login <Programm« kann ein alternatives Programm und --logopts <Optionen> Parameter an dieses angegeben werden.

mingetty gibt den Inhalt der Datei /etc/issue (falls sie existiert) vor dem Login aus.

Damit sind schon alle Optionen von mingetty genannt; der Präfix ist Programm...

vboxgetty Zurück Anfang Weiter

»Vboxgetty« ist wichtigster Bestandteil eines auf ISDN basierten Anrufbeantworters. Da dieses Getty nur in Zusammenhang mit einem Anrufbeantworter von Interesse ist, erfolgt die Beschreibung erst im Kapitel »Netzwerk-Grundlagen« unter Allgemeine Dienste, ISDN-Anrufbeantworter.

Die Datei /etc/motd Zurück Anfang Weiter

Der Inhalt dieser Datei (»Message of the day«) wird vom Kommando login im Anschluss an ein erfolgreichen Anmeldevorgang auf den Bildschirm ausgegeben. So hilft dem Administrator bswp., um allen Benutzern, die Zugang auf diesen Rechner haben, etwas mitzuteilen.

user@sonne> cat /etc/motd

Am kommenden Montag wird der Rechner wegen Wartungsarbeiten vorübergehend abgeschalten. Ihre lokal gespeicherten Daten stehen ihnen deshalb nicht zur Verfügung!

Die Datei /etc/login.defs Zurück Anfang Weiter

Über diese Datei kann das Login-Verhalten der Shadow-Suite konfiguriert werden. Beachten Sie, dass die Parameter MOtd_FILE, DIALUPS_CHECK_ENAB, LASTLOG_ENAB, MAIL_CHECK_ENAB, OBSCURE_CHECKS_ENAB, PORTTIME_CHECKS_ENAB, CONSOLE, SU_WHEEL_ONLY, CRACKLIB_DICTPATH, PASS_CHANGE_trIES, PASS_ALWAYS_WARN, MD5_CRYPT_ENAB, CONSOLE_GROUPS, ENVIRON_FILE, NOLOGINS_FILE, ISSUE_FILE und PASS_MIN_LEN bei Verwendung von Pluggable Authentication Modules von der dortigen Konfiguration überschrieben werden.

Eine Zeile der Datei beginnt mit dem Konfigurationsparameter. Ihm folgt, durch Leerzeichen oder Tabulator(en) getrennt, der Wert. Ein Doppelkreuz leitet einen Kommentar ein, der mit einem Zeilenumbruch endet.

Die nachfolgende Beschreibung enthält nur eine Auswahl aller Parameter. Im Wesentlichen verzichten wir auf die Erläuterung zu Parametern, die in der derzeitigen Implementierung zwar vorhanden, aber deren Anwendung nicht empfohlen wird.

CHFN_AUTH

Ist der Wert »yes«, so fordern die Kommandos chsh und chfn die Eingabe des Passworts.

CHFN_RESTRICT

Dieser Parameter bestimmt, welche Einträge des GCOS-Feldes der /etc/passwd ein normaler Benutzer mit Hilfe von chfn ändern darf. Die vier erlaubten Buchstaben sind: f für den vollständigen Namen, r für die Raumnummer, w für die Bürotelefonnummer und h für die private Telefonnummer. Fehlt dieser Parameter, darf einzig Root Änderungen vornehmen.

CLOSE_SESSIONS

Bei Verwendung von Pluggable Authentication Modules ermöglicht dieser Parameter dem Kommando login, auf das Ende der Sitzung zu warten und anschließend die PAM-Ressourcen freizugeben (durch Aufruf von pam_close_session(...)). Die meisten PAM-Module räumen selbst auf, aber eben nicht alle (u.a. Kerberos).

CONSOLE

Root darf sich nur an den hier erwähnten Terminals anmelden. Neben der direkten Angabe zulässiger Terminals kann auch der Pfad zu einer Datei angegeben werden, die die Terminals enthält. Üblich ist /etc/securetty.

CRACKLIB_DICTPATH

Pfad zu den Cracklib-Wörterbüchern.

DEFAULT_HOME

Die Werte »true« bzw »false« legen fest, ob ein Benutzer sich anmelden darf, falls sein Home-Verzeichnis nicht verfügbar ist (bspw. wenn es per NFS gemountet wird, die Verbindung zum NFS-Server aber nicht hergestellt werden kann).

DIALUPS_CHECK_ENAB

Eine Datei /etc/dialups kann Terminals enthalten, an denen auf eingehende Anrufe gewartet wird. Zu jedem Terminal kann ein Passwort festgesetzt werden. Steht nun der Parameter auf »yes« wird die Abfrage dieses Passworts vorgenommen.

ENVIRON_FILE

Die hier angegebene Datei kann einen Satz vordefinierter Umgebungsvariablen enthalten.

ENV_PATH

Hier wird die initiale Belegung der Variablen PATH vorgenommen. Dieser Eintrag ist zwingend erforderlich, da noch keine Shell aktiv ist und somit noch kein Suchpfad für Programme existiert (login muss bspw. die Shell selbst finden).

ENV_ROOTPATH

Initiale Belegung von PATH für Root.

ERASECHAR

Das angegebenem Zeichen ermöglicht das Löschen in einem Terminal. Fehlt die Angabe ist [Backspace] das Löschzeichen.

FAILLOG_ENAB

Bei »yes« werden fehlgeschlagende Anmeldeversuche in der Datei /var/log/faillog protokolliert.

FAIL_DELAY

Nach einem fehlgeschlagenen Login-Versuch wird die anegegebene Zeitspanne (in Sekunden) gewartet, bevor ein erneutes Login-Prompt erscheint.

GID_MIN, GID_MAX

Minimaler und maximaler Wert für eine Gruppennummer, die das Kommando groupadd automatisch kalkulieren darf.

ISSUE_FILE

Pfadname zu einer Datei, deren Inhalt vor dem Loginprompt angezeigt wird.

LASTLOG_ENAB

Steht hier »yes«, werden nach erfolgreichem Anmelden Informationen zum Zeitpunkt der letzten Anmeldung und ggf. zu zwischenzeitlichen fehlgeschlagenen Anmeldeversuchen ausgegeben.

LOGIN_RETRIES

Bei fehlgeschlagenem Anmeldeversuch lässt das Kommando login die angegebene Anzahl erneuter Versuche zu, bis es sich selbst beendet. Bei lokalen Login-Konsolen startet i.d.R. ein getty anschließend erneut den Anmeldevorgang; bei einer Anmeldung übers Netz wird jedoch meist die Verbindung getrennt.

LOGIN_TIMEOUT

Anzahl Sekunden, die login auf die Eingabe eines Passworts wartet. Nach Ablauf der Zeitspanne gilt der Versuch als gescheitert.

MAIL_CHECK_ENAB

Steht der Wert auf »yes«, wird ein Benutzer nach dem Login über den Status seiner Mailbox informiert.

MAIL_DIR

Enthält das Verzeichnis mit den Mailboxen der Benutzer. Das Benutzerkennzeichen wird automatisch ergänzt. Weicht die Namensgebung von diesem üblichen Schema ab, muss die Mailbox-Datei mit MAIL_FILE angegeben werden.

MAIL_FILE

Enthält die Datei mit der Mailbox eines Benutzers. Sie muss im Heimatverzeichnis des Benutzers liegen; der Pfad zum Heimatverzeichnis wird automatisch ergänzt. Dieser Parameter sollte nicht gleichzeitig mit MAIL_DIR verwendet werden.

MD5_CRYPT_ENAB

Bei »yes« wird das Passwort nicht per herkömmlichen DES-Algorithmus verschlüsselt, sondern mittels eines MD5-Verfahrens. Somit sind Passwortlängen bis zu 256 Zeichen möglich.

MOTD_FILE

Enthält den vollständigen Pfad zu einer Datei mit der »Nachricht des Tages«. Mehrere Dateien können - per Doppelpunkt getrennt - angegeben werden. Existieren sie, wird ihr Inhalt nach dem erfolgreichen Anmelden angezeigt.

NOLOGINS_FILE

Enthält den vollstädnigen Pfad zu einer Datei. Existiert die Datei, ist einzig Root berechtigt, sich am System anzumelden. Anderen Benutzern wird der Zugang verwährt, wobei der Inhalt der Datei angezeigt wird. In den meisten Linux-Konfigurationen wird dasselbe Verhalten durch Anlegen der Datei /ect/nologin erreicht.

OBSCURE_CHECKS_ENAB

Steht der Wert auf »yes«, wird ein neues Passwort erst akzeptiert, nachdem es einfachen Test unterzogen wurde (minimale Passwortlänge). Führt Root das Kommando passwd aus, wird die Prüfung ausgesetzt.

PASS_ALWAYS_WARN

Ändert Root ein Passwort, das einer Überprüfung mittels den Mechanismen von OBSCURE_CHECKS_ENAB nicht standhalten würde, wird er gewarnt, falls der Wert des Parameters auf »yes« steht.

PASS_CHANGE_trIES

Anzahl Versuche, das Passwort zu ändern, bevor passwd abbricht.

PASS_MIN_DAYS, PASS_MAX_DAYS

Minimale/maximale Zeitspanne, die zwischen zwei Passwortänderungen vergehen muss/darf.

PASS_MIN_LEN, PASS_MAX_LEN

Mindestlänge bzw. maximale Länge eines Passworts.

PASS_WARN_AGE

Ab so vielen Tagen vor Erreichen der PASS_MAX_DAYS wird ein Benutzer gewarnt, dass sein Passwort demnächst abläuft.

QMAIL_DIR

Gibt den Pfad zum Mailverzeichnis bei Verwendung von qmail an.

QUOTAS_ENAB

Steht hier »yes«, so werden die Werte des GCOS-Feldes der Datei /etc/passwd verwendet, um Limits den jeweiligen Benutzer zu setzen. Selbstverständlich wirkt der Eintrag nur, wenn die /etc/passwd die entsprechenden Angaben auch enthält.

SULOG_FILE

In diese Datei werden Aktivitäten von su aufgezeichnet. Wird die Datei nicht angegeben, findet keine Protokollierung statt.

SYSLOG_SG_ENAB

Steht hier »yes«, werden alle Aufrufe von sg über den syslogd protkolliert.

SYSLOG_SU_ENAB

Steht hier »yes«, werden alle Aufrufe von su über den syslogd protkolliert.

TTYGROUP

Das Login-Terminal kann mit der angegebenen Gruppe als besitzende Gruppe gestartet werden. In Verbindung mit TTYPERM lassen sich somit die Rechte detaillierter steuern.

TTYPERM

Die Rechte, mit denen ein Login-Terminal versehen wird. Fehlt der Eintrag, so werden die Rechte intern auf 622 gesetzt. Somit sind andere Benutzer bemächtigt, auf das Terminal zu schreiben (bspw. mit dem Kommando write, talk...).

TTYTYPE_FILE

Hier wird der Pfad zu einer Datei mit den Terminal-Spezifikationen angegeben. Diese Datei enthält Zeilen, die einem Terminal einen konkreten Typ (»Terminalemulation«) zuordnen. So sind lokale Login-Konsolen (tty1..tty6) meist vom Typ »linux«; Pseudoterminals (ttypX) zur Anmeldung übers Netz verwenden häufig die »vt100«-Emulation.

UID_MIN, UID_MAX

Minimale bzw. maximale Nummer, die vom Kommando useradd bei der automatischen Vergabe der UID gewählt werden kann.

ULIMIT

Dateien dürfen maximal diese Größe annehmen.

UMASK

Die Voreinstellung der Zugriffsrechte für neu erstellte Dateien und Verzeichnisse; siehe umask im Abschnitt Zugriffsrechte.
Die Datei /etc/securetty Zurück Anfang Weiter

Haben Sie schon einmal versucht, unter dem Nutzerkennzeichen root eine Verbindung zu einem Rechner über Telnet zu initiieren? Dann habe Sie schon Bekanntschaft mit der Ausgabe »Keine Berechtigung« gemacht?

Mit der Sicherheit der Administrator-Zugangs steht und fällt die Sicherheit Ihres gesamten Systems. So wird es nicht verwundern, dass man besondere Maßnahmen getroffen hat, um die Möglichkeiten zum Root-Zugang zu erschweren. Die Datei /etc/securetty enthält nun die »vertrauenswürdigen« Terminal, an denen ein Root-Zugang gewährt wird:

user@sonne> cat /etc/securetty
tty1
tty2
tty3
tty4
tty5
tty6

Obige Konstellation gestattet ein Root-Login nur von einer der virtuellen Konsolen aus. Ein Versuch über ein Pseudo-Terminal (z.B. über das Netz) wird somit immer abgewiesen.

/etc/securetty wird vom Kommando login ausgewertet.

Die Datei /etc/shells Zurück Anfang Weiter

Wenn ein Benutzer sich erfolgreich am System anmeldet, dann startet die in der Datei /etc/passwd fest gelegte Shell. Ein Benutzer hat nun die Möglichkeit, eine andere so genannte Default-Shell einzustellen.

Diese Loginshell ist nun ein zentraler Angelpunkt, denn alle Prozesse, die ein Benutzer im Laufe der Sitzung kreiert, sind Abkömmlinge des die Shell ausführenden Prozesses. Eine mangelhafte implementierte Shell könnte somit unter Umständen die Stabilität des gesamten Systems gefährden.

Aus diesem Grund werden alle Shells, die ein Benutzer als seine default-Shell verwenden darf, in der Datei /etc/shells zusammengefasst. Eine dort nicht erwähnte Shell wird somit niemals vom Kommando chsh akzeptiert werden. Beachten Sie, dass die Shells mit vollständigem Pfad anzugeben sind:

user@sonne> cat /etc/shells
/bin/bash
/bin/csh
/bin/false
/bin/sh
/bin/tcsh
/usr/bin/csh
/usr/bin/ksh
/usr/bin/passwd
/usr/bin/tcsh
/usr/bin/zsh

X-Login Zurück Anfang Weiter

Passwort Zurück Anfang
Korrekturen, Hinweise?
Startseite Nächste Seite Nächstes Kapitel Vorherige Seite Kapitelanfang