LOGIN(1)

NAME
login - startet eine Sitzung auf dem System

ÜBERSICHT

login [-p] [-h Rechner] [Benutzername] [ENV=VAR...]

login [-p] [-h Rechner] -f Benutzername

login [-p] -r Rechner

BESCHREIBUNG

Das Programm login wird verwendet, um eine neue Sitzung auf dem System zu starten. Es wird normalerweise automatisch als Antwort auf die login:-Eingabeaufforderung auf dem Terminal des Benutzers ausgeführt. login kann von der Shell besonders behandelt werden und kann nicht als Subprozess gestartet werden. Wenn login von einer Shell aufgerufen wird, sollte es als exec login ausgeführt werden, so dass die aktuelle Shell des Benutzers beendet wird (und somit verhindert wird, dass der neue Benutzer in die Sitzung des alten zurückkehren kann). Der Versuch, von einer Shell außer der Anmelde-Shell login auszuführen, wird eine Fehlermeldung erzeugen.

Falls erforderlich, wird der Benutzer anschließend nach einem Passwort gefragt. Dieses wird während der Eingabe nicht angezeigt. Es sind nur eine kleine Anzahl von Anmeldeversuchen zulässig, ehe login abbricht und die Kommunikation getrennt wird.

Falls der Passwortverfall für Ihr Konto aktiviert wurde, kann es sein, dass Sie vor der weiteren Nutzung nach einem neuen Passwort gefragt werden. Sie müssen Ihr altes und neues Passwort angegeben, bevor Sie fortfahren können. In der Dokumentation zu passwd(1) finden sich weitere Informationen.

Nach einer erfolgreichen Anmeldung werden Ihnen Systemmeldungen präsentiert, sowie das Vorhandensein von Mails angezeigt. Die Anzeige der systemweiten Nachrichtendatei /etc/motd kann abgeschaltet werden, indem im Anmeldeverzeichnis eine leere Datei .hushlogin angelegt wird. Je nach Zustand der Mailbox des Benutzers ist die Mailnachricht entweder »Sie haben neue Mails.«, »Sie haben Mails.« oder »Keine Mails.«.

Die Benutzer- und Gruppen-IDs werden gemäß den Werten in /etc/passwd gesetzt. Die Werte für $HOME, $SHELL, $PATH, $LOGNAME und $MAIL werden ebenfalls entsprechend den Feldern im Passworteintrag gesetzt. Werte für ulimit, umask und nice können ebenfalls gemäß den Werten im GECOS-Feld gesetzt werden.

Bei einigen Installationen wird anfänglich die Umgebungsvariable $TERM entsprechend dem Terminaltyp Ihrer tty-Zeile, wie sie in /etc/ttytype angegeben ist, gesetzt.

Ein Startskript für Ihren Befehlsinterpreter kann auch ausgeführt werden. Sehen Sie bitte in den entsprechenden Handbuchseiten für weitere Informationen darüber nach.

Eine Subsystem-Anmeldung wird durch einen »*« als erstes Zeichen der Anmelde-Shell gekennzeichnet. Das angegebene Home-Verzeichnis wird als Wurzel für das Dateisystem verwendet, auf welchem der Benutzer tatsächlich angemeldet ist.

Es liegt NICHT in der Verantwortung von login, Benutzer aus der utmp-Datei zu entfernen. Sowohl getty(8) als auch init(8) sind dafür zuständig, die offenkundige Eigentümerstellung einer Terminalsitzung aufzuräumen. Falls Sie login von der Shell ohne exec verwenden, wird der Benutzer, den Sie verwenden, weiterhin als angemeldet erscheinen, obwohl Sie die »untergeordnete Sitzung« beendet haben.

OPTIONEN

-f
    Keine Authentifizierung durchführen, Benutzer ist bereits angemeldet.

    Hinweis: In diesem Fall muss Benutzername angegeben werden.

-h
    Name des entfernt stehenden Rechners für die Anmeldung

-p
    behält die Umgebungseinstellungen bei

-r
    führt das Autologin-Protokoll für rlogin aus

Die Optionen -r, -h und -f können nur verwendet werden, wenn login von Root ausgeführt wird.

WARNUNGEN

Diese Version von login hat viele Optionen für die Kompilierung, wobei eventuell nicht alle Optionen auf allen Systemen verwendet werden.

Der Ort der Konfigurationsdateien kann je nach Konfiguration des Systems unterschiedlich sein.

Es liegt NICHT in der Verantwortung von login, Benutzer aus der utmp-Datei zu entfernen. Sowohl getty(8) als auch init(8) sind dafür zuständig, die offenkundige Eigentümerstellung einer Terminalsitzung aufzuräumen. Falls Sie login von der Shell ohne exec verwenden, wird der Benutzer, den Sie verwenden, weiterhin als angemeldet erscheinen, obwohl Sie die »untergeordnete Sitzung« beendet haben.

Wie bei jedem anderen Programm kann auch das Erscheinungsbild von login vorgespiegelt werden. Falls unseriöse Benutzer physischen Zugriff auf den Rechner haben, kann dies von einem Angreifer verwendet werden, um das Passwort der Person zu erhalten, die sich als nächste vor den Rechner setzt. In Linux können Benutzer den SAK-Mechanismus verwenden, um einen vertrauenswürdigen Pfad zu erstellen und somit diesem Angriff zu entgehen.

KONFIGURATION

Die folgenden Konfigurationsvariablen in /etc/login.defs beeinflussen das Verhalten dieses Werkzeugs:

CONSOLE (Zeichenkette)
    Die Konfiguration erfolgt entweder über die Angabe des vollen Pfadnamens einer Datei, welche die Namen der Geräte enthält (eines pro Zeile), oder mit einer Liste der Gerätenamen, die mit »:« getrennt sind. Root kann sich nur auf diesen Geräten anmelden.

    Wenn es unkonfiguriert gelassen wird, kann sich Root auf jedem Gerät anmelden.

    Das Gerät soll ohne vorangestelltes /dev/ angegeben werden.

CONSOLE_GROUPS (Zeichenkette)
    Liste von Gruppen, deren Mitglied der Benutzer wird, wenn der sich auf der Konsole anmeldet, die mit dem Parameter CONSOLE festgelegt wird. Standardmäßig ist die Liste leer. Seien Sie vorsichtig. Benutzer können dauerhaft Zugang zu den Gruppen erlangen, auch wenn sie nicht auf der Konsole angemeldet sind.

DEFAULT_HOME (boolesch)
    Legt fest, ob ein Login erlaubt wird, wenn mit cd nicht in das Home-Verzeichnis gewechselt werden kann. Standardmäßig wird dies nicht zugelassen.

    Falls auf yes gesetzt, wird der Benutzer mit dem Wurzelverzeichnis (/) angemeldet, wenn mit cd nicht in sein Home-Verzeichnis gewechselt werden kann.

ENV_HZ (Zeichenkette)
    Wenn vergeben, wird damit die Umgebungsvariable HZ definiert, wenn sich ein Benutzer anmeldet. Dem Wert muss ein HZ= vorangestellt werden. Ein üblicher Wert bei Linux ist HZ=100.

ENV_PATH (Zeichenkette)
    Wenn gesetzt, wird damit die Umgebungsvariable PATH definiert, wenn sich ein normaler Benutzer anmeldet. Der Wert ist eine Liste, deren Einträge durch Doppelpunkte getrennt sind (zum Beispiel /bin:/usr/bin). Ihr kann ein PATH= vorangestellt werden. Der Standardwert ist PATH=/bin:/usr/bin.

ENV_SUPATH (Zeichenkette)
    Wenn gesetzt, wird damit die Umgebungsvariable PATH definiert, wenn sich der Superuser anmeldet. Der Wert ist eine Liste, deren Einträge durch Doppelpunkte getrennt sind (zum Beispiel /sbin:/bin:/usr/sbin:/usr/bin). Ihr kann ein PATH= vorangestellt werden. Der Standardwert ist PATH=/sbin:/bin:/usr/sbin:/usr/bin.

ENV_TZ (Zeichenkette)
    Wenn gesetzt, wird damit die Umgebungsvariable TZ definiert, wenn sich ein Benutzer anmeldet. Der Wert kann der Name der Zeitzone sein, dem TZ= vorausgeht (zum Beispiel TZ=CST6CDT), oder der vollständige Pfad der Datei, welche die Konfiguration der Zeitzone enthält (zum Beispiel /etc/tzname).

    Wenn ein vollständiger Pfadname angegeben wird, die Datei aber nicht existiert oder nicht lesbar ist, wird TZ=CST6CDT verwendet.

ENVIRON_FILE (Zeichenkette)
    Wenn diese Datei vorhanden ist, wird die Anmeldeumgebung aus ihr gelesen. Jede Zeile sollte die Form Name=Wert haben.

    Zeilen, die mit einem # beginnen, werden als Kommentare behandelt und daher ignoriert.

ERASECHAR (Zahl)
    Das Löschzeichen des Terminals (010 = Rücktaste, 0177 = Entf).

    Wenn der Wert mit »0« beginnt, wird er als Oktalzahl gewertet, wenn er mit »0x« beginnt, als Hexadezimalzahl.

FAIL_DELAY (Zahl)
    Wartezeit in Sekunden, ehe nach einem fehlgeschlagenen Anmeldeversuch ein neuer unternommen werden kann

FAILLOG_ENAB (boolesch)
    aktiviert die Protokollierung und Anzeige der Informationen zu fehlgeschlagenen Anmeldeversuchen in /var/log/faillog

FAKE_SHELL (Zeichenkette)
    Falls angegeben, führt login diese Shell anstelle der in /etc/passwd angegebenen Shell des Benutzers aus.

FTMP_FILE (Zeichenkette)
    Falls angegeben, werden fehlgeschlagene Anmeldeversuche in dieser Datei im Format utmp protokolliert.

HUSHLOGIN_FILE (Zeichenkette)
    Falls angegeben, kann diese Datei die übliche Informationsanzeige während des Anmeldevorgangs unterbinden. Wenn ein vollständiger Pfad angegeben wird, wird der Modus ohne Anmeldeinformationen verwendet, wenn der Name oder die Shell des Benutzers in der Datei enthalten sind. Wenn kein vollständiger Pfad angegeben wird, wird der Modus ohne Anmeldeinformationen aktiviert, wenn die Datei im Home-Verzeichnis des Benutzers existiert.

ISSUE_FILE (Zeichenkette)
    Falls angegeben, wird diese Datei vor der Anmeldeaufforderung angezeigt.

KILLCHAR (Zahl)
    Das KILL-Zeichen des Terminals (025 = CTRL/U).

    Wenn der Wert mit »0« beginnt, wird er als Oktalzahl gewertet, wenn er mit »0x« beginnt, als Hexadezimalzahl.

LASTLOG_ENAB (boolesch)
    aktiviert die Protokollierung und Anzeige der Informationen zu Anmeldezeiten in /var/log/lastlog

LOGIN_RETRIES (Zahl)
    maximale Anzahl von Anmeldeversuchen, wenn ein falsches Passwort eingegeben wird

LOGIN_STRING (Zeichenkette)
    Diese Zeichenkette wird bei der Eingabeaufforderung des Passworts (Prompt) verwendet. Standardmäßig wird »Password: « oder eine Übersetzung davon benutzt. Wenn Sie diese Variable definieren, wird die Eingabeaufforderung nicht übersetzt.

    Wenn die Zeichenkette ein %s enthält, wird dies durch den Benutzernamen ersetzt.

LOGIN_TIMEOUT (Zahl)
    Höchstdauer für einen Anmeldeversuch

LOG_OK_LOGINS (boolesch)
    aktiviert die Protokollierung erfolgreicher Anmeldungen

LOG_UNKFAIL_ENAB (boolesch)
    aktiviert die Anzeige unbekannter Benutzernamen, wenn fehlgeschlagene Anmeldeversuche aufgezeichnet werden

    Hinweis: Das Protokollieren unbekannter Benutzernamen kann ein Sicherheitsproblem darstellen, wenn ein Benutzer sein Passwort anstelle seines Anmeldenamens eingibt.

MAIL_CHECK_ENAB (boolesch)
    aktiviert die Prüfung und Anzeige des Status der Mailbox bei der Anmeldung

    Sie sollten dies abschalten, wenn schon die Startdateien der Shell die Mails prüfen (»mailx -e« oder ähnliches).

MAIL_DIR (Zeichenkette)
    Das Verzeichnis des Mail-Spools. Diese Angabe wird benötigt, um die Mailbox zu bearbeiten, nachdem das entsprechende Benutzerkonto verändert oder gelöscht wurde. Falls nicht angegeben, wird ein Standard verwendet, der beim Kompilieren festgelegt wurde.

MAIL_FILE (Zeichenkette)
    Legt den Ort der Mail-Spool-Dateien eines Benutzers relativ zu seinem Home-Verzeichnis fest.

Die Variablen MAIL_DIR und MAIL_FILE werden von useradd, usermod und userdel verwendet, um den Mail-Spool eines Benutzers zu erstellen, zu verschieben oder zu löschen.

Falls MAIL_CHECK_ENAB auf yes gesetzt ist, werden sie auch verwendet, um die Umgebungsvariable MAIL festzulegen.

MOTD_FILE (Zeichenkette)
    Falls angegeben, eine Aufzählung von Dateien, welche die bei der Anmeldung anzuzeigenden »Nachrichten des Tages« enthält. Die Dateien werden mit einem »:« getrennt.

NOLOGINS_FILE (Zeichenkette)
    Falls angegeben, der Name einer Datei, dessen Existenz Anmeldungen außer von Root verhindert. Der Inhalt der Datei sollte die Gründe enthalten, weshalb Anmeldungen untersagt sind.

PORTTIME_CHECKS_ENAB (boolesch)
    aktiviert die Auswertung der in /etc/porttime angegebenen Zeitbegrenzungen

QUOTAS_ENAB (boolesch)
    aktiviert das Setzen von Resourcenbeschränkungen aus /etc/limits und von ulimit, umask und niceness aus dem gecos-Feld des Benutzers von passwd

TTYGROUP (Zeichenkette), TTYPERM (Zeichenkette)
    Die Rechte des Terminals: Das Anmelde-tty gehört der Gruppe TTYGROUP an, die Rechte werden auf TTYPERM gesetzt.

    Standardmäßig ist der Eigentümer des Terminals die Hauptgruppe des Benutzers, die Rechte werden auf 0600 gesetzt.

    TTYGROUP kann der Gruppenname oder die als Zahl ausgedrückte Gruppen-ID sein.

    Wenn Sie ein write-Programm haben, das »setgid« für eine Gruppe besitzt, der das Terminal gehört, sollten Sie TTYGROUP die Gruppennummer und TTYPERM den Wert 0620 zuweisen. Oder Sie sollten TTYGROUP als Kommentar belassen und TTYPERM den Wert 622 oder 600 zuweisen.

TTYTYPE_FILE (Zeichenkette)
    Falls angegeben, eine Datei, welche einer tty-Zeile den Umgebungsparameter TERM zuweist. Jede Zeile hat das Format wie etwa »vt100 tty01«.

ULIMIT (Zahl)
    der Standardwert von ulimit

UMASK (Zahl)
    Die Bit-Gruppe, welche die Rechte von erstellten Dateien bestimmt, wird anfänglich auf diesen Wert gesetzt. Falls nicht angegeben, wird sie auf 022 gesetzt.

    useradd und newusers verwenden diese Bit-Gruppe, um die Rechte des von ihnen erstellten Home-Verzeichnisses zu setzen.

    Sie wird auch von login verwendet, um die anfängliche Umask eines Benutzers zu bestimmen. Beachten Sie, dass diese Bit-Gruppe durch die GECOS-Zeile des Benutzers (wenn QUOTAS_ENAB gesetzt wurde) oder die Festlegung eines Limits in limits(5) mit der Kennung K überschrieben werden kann.

USERGROUPS_ENAB (boolesch)
    Erlaubt Benutzern, die nicht Root sind, die Umask-Gruppen-Bits auf ihre Umask-Bits zu setzen (Beispiel: 022 -> 002, 077 -> 007), falls die UID mit der GID identisch ist sowie der Benutzername mit dem Gruppennamen übereinstimmt.

    Wenn der Wert yes ist, wird userdel die Gruppe des Benutzers entfernen, falls sie keine Mitglieder mehr hat, und useradd wird standardmäßig eine Gruppe mit dem Namen des Benutzers erstellen.

DATEIEN

/var/run/utmp
    Liste der aktuellen angemeldeten Sitzungen

/var/log/wtmp
    Liste der vorangegangenen angemeldeten Sitzungen

/etc/passwd
    Informationen zu den Benutzerkonten

/etc/shadow
    verschlüsselte Informationen zu den Benutzerkonten

/etc/motd
    Datei mit der Systemmeldung des Tages

/etc/nologin
    verhindert, dass sich Benutzer außer Root anmelden

/etc/ttytype
    Liste der Terminaltypen

$HOME/.hushlogin
    unterdrückt die Ausgabe von Systemnachrichten

/etc/login.defs
    Konfiguration der Shadow-Passwort-Werkzeugsammlung

SIEHE AUCH

mail(1), passwd(1), sh(1), su(1), login.defs(5), nologin(5), passwd(5), securetty(5), getty(8).