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.

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_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_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.

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

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

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.

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.

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

    Dies wird höchstwahrscheinlich von PAM überschrieben, da standardmäßig das Modul pam_unix drei Versuche enthält. Dennoch stellt dies ein zusätzliches Sicherungssystem dar, falls Sie eine Anmeldemöglichkeit einsetzen, die nicht PAM_MAXTRIES beachtet.

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.

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«.

USERGROUPS_ENAB (boolesch)
    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).