LOGIN(1)

BEZEICHNUNG
login - eine Sitzung auf dem System starten

ÜBERSICHT

login [-p] [-s Shell] [-h Rechner] [-H] [[-f] Benutzername|UID]

BESCHREIBUNG

Der Befehl login wird bei der Anmeldung an einem System verwendet. Falls kein Argument angegeben ist, bittet login um die Eingabe des Benutzernamens.

Der Benutzer wird dann um die Eingabe eines Passworts gebeten, sofern erforderlich. Die visuelle Rückmeldung ist deaktiviert, um die Offenlegung des Passworts zu verhindern. Es kann nur eine kleine Anzahl falscher Passwörter eingegeben werden, bis login abbricht und die Kommunikationsverbindung getrennt wird. Siehe LOGIN_RETRIES im Abschnitt EINTRÄGE DER KONFIGURATIONSDATEI.

Wenn für das Konto der Ablauf des Passworts aktiviert ist, könnte der Benutzer vor dem Fortsetzen um die Eingabe eines neuen Passworts gebeten werden. Er wird gezwungen, das alte Passwort und das neue Passwort anzugeben, bevor fortgesetzt werden kann. In passwd(1) finden Sie weitere Informationen.

Die Benutzer- und Gruppenkennung werden entsprechend ihren Werten in der Datei /etc/passwd gesetzt. Es gibt eine Ausnahme, falls die Gruppenkennung 0 ist: In diesem Fall wird nur die primäre Gruppenkennung des Kontos gesetzt. Dies sollte dem Systemadministrator ermöglichen, sich selbst bei Netzwerkprobleme anzumelden. $HOME, $USER, $SHELL, $PATH, $LOGNAME und $MAIL werden entsprechend der jeweiligen Felder in der Passwortdatei gesetzt. $PATH ist standardmäßig /usr/local/bin:/bin:/usr/bin für normale Benutzer und /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin für Root, falls nicht anders konfiguriert.

Die Umgebungsvariable $TERM wird beibeehalten, falls sie existiert, anderenfalls wird sie auf den Terminaltyp Ihres TTYs initialisiert. Die Umgebungsvariablen $COLORTERM und $NO_COLOR werden beibehalten, falls sie existieren.

Andere Umgebungsvariablen bleiben erhalten, wenn die Option -p angegeben ist oder wenn LOGIN_ENV_SAFELIST in /etc/login.defs definiert ist (siehe unten).

Die von PAM definierten Umgebungsvariablen werden stets beibehalten.

Dann wird die Shell des Benutzers gestartet. Falls weder mit -s noch in /etc/passwd eine Shell für den Benutzer angegeben ist, wird /bin/sh verwendet. Falls die angegebene Shell Leerraum enthält, wird die Angabe als Shellskript aufgefasst. Falls kein Verzeichnis in /etc/passwd angegeben ist, wird / verwendet (das Home-Verzeichnis wird auf die nachfolgend beschriebene Datei .hushlogin überprüft).

Falls die Datei .hushlogin existiert, wird eine »stille« Anmeldung ausgeführt (dadurch wird die Überprüfung auf E-Mails deaktiviert und der Zeitpunkt der letzten Anmeldung und die Meldung des Tages nicht ausgegeben). Falls /var/log/lastlog existiert, wird anderenfalls der Zeitpunkt der letzten Anmeldung ausgegeben (und die aktuelle Anmeldung aufgezeichnet).

OPTIONEN

-p
    wird von getty(8) verwendet, um login anzuweisen, die Umgebung nicht zurückzusetzen. Siehe auch den Konfigurationseintrag LOGIN_ENV_SAFELIST.

-f
    wird zum Überspringen der Authentifizierung bei der Anmeldung verwendet. Diese Option wird üblicherweise von der Funktion von getty(8) zum automatischen Anmelden genutzt.

-h
    wird von anderen Servern (wie telnetd(8)) zur Übergabe des Namens des fernen Hosts an login verwendet, so dass es in utmp und wtmp abgelegt werden kann. Nur der Superuser darf diese Option verwenden.

    Beachten Sie, dass die Option -h den Namen des PAM-Dienstes beeinflusst. Der Standard-Dienstname ist login, mit der Option -h ist der Name remote. Es ist notwendig, korrekte PAM-Konfigurationsdateien anzulegen (zum Beispiel /etc/pam.d/login und /etc/pam.d/remote).

-H
    wird von anderen Servern (d.h. telnetd(8)) verwendet, um login anzuweisen, dass die Ausgabe des Hostnamens in der Eingabeaufforderung zur Anmeldung unterdrückt werden soll. Siehe auch LOGIN_PLAIN_PROMPT unten, falls Ihr Server die Konfiguration der login-Befehlszeile nicht unterstützt.

-s, --shell Shell
    gibt eine andere Shell als die in /etc/passwd definierte an, an der Sie sich anmelden.

-h, --help
    zeigt einen Hilfetext an und beendet das Programm.

-V, --version
    zeigt Versionsinformationen an und beendet das Programm.

EINTRÄGE DER KONFIGURATIONSDATEI

login liest die Konfigurationsdatei /etc/login.defs (siehe login.defs(5)). Beachten Sie, dass die Konfigurationsdatei Teil eines anderen Pakets sein könnte (z.B. shadow-utils). Die folgenden Konfigurationseinträge sind für login relevant:

MOTD_FILE (Zeichenkette)
    Gibt eine durch Doppelpunkte (:) getrennte Liste von »Meldung des Tages«-Dateien an, die bei der Anmeldung angezeigt wird. Falls der angegebene Pfad ein Verzeichnis ist, dann werden alle Dateien im Verzeichnis mit der Endung .motd in versionsbasierter Sortierung angezeigt.

    Der Vorgabewert ist /usr/share/misc/motd:/run/motd:/etc/motd. Falls der MOTD_FILE-Eintrag leer ist oder eine stille Anmeldung aktiviert ist, wird die Meldung des Tages nicht angezeigt. Beachten Sie, dass die gleiche Funktionalität auch vom PAM-Modul pam_motd(8) bereitgestellt wird.

    Die Verzeichnisse in MOTD_FILE werden seit Version 2.36 unterstützt.

    Beachten Sie, dass login keinerlei Verhalten zur Außerkraftsetzung von Dateinamen wie pam_motd implementiert (siehe auch MOTD_FIRSTONLY), sondern sämtlicher Inhalt aller Dateien angezeigt wird. Es wird empfohlen, zusätzliche Logik in die Erzeugung von Inhalten einzubauen und /run/motd.d zu verwenden, anstatt die fest in Systemwerkzeuge eingebauten Außerkraftsetzungsmechanismen zu verwenden.

MOTD_FIRSTONLY (boolesch)
    zwingt login, die Anzeige des in MOTD_FILE angegebenen Inhalts nach dem ersten Listeneintrag zu beenden. Beachten Sie, dass ein Verzeichnis in diesem Fall als ein Eintrag angesehen wird. Diese Option ermöglicht, dass die login-Semantik so konfiguriert werden kann, dass sie kompatibler zu pam_motd wird. Der Vorgabewert ist no.

LOGIN_ENV_SAFELIST (Zeichenkette)
    zwingt login, die angegebenen Umgebungsvariablen zu schützen, wenn -p nicht verwendet wird. Der Zeichenkettenwert ist eine durch Kommata getrennte Liste von Variablennamen. Beispiel: "LANG,LC_MESSAGES,LC_COLLATE". Die Sicherheitsliste wird für die Umgebungsvariablen HOME, SHELL und USER ignoriert.

LOGIN_PLAIN_PROMPT (boolesch)
    weist login an, dass die Ausgabe des Rechnernamens in der Eingabeaufforderung der Anmeldung unterdrückt werden soll. Dies ist die Alternative zur Befehlszeilenoption -H. Der Standardwert ist no.

LOGIN_TIMEOUT (Zahl)
    Maximale Zeit in Sekunden für die Anmeldung. Der Vorgabewert ist 60.

LOGIN_RETRIES (Zahl)
    Maximale Anzahl der Anmeldeversuche im Falle eines falsch eingegebenen Passworts. Der Vorgabewert ist 3.

LOGIN_PLAIN_PROMPT (boolesch)
    weist login an, nur nach der erneuten Eingabe des Passworts zu fragen, wenn die Authentifizierung fehlgeschlagen ist, aber der Benutzername gültig ist. Der Vorgabewert ist no.

FAIL_DELAY (Zahl)
    Verzögerung in Sekunden, bevor nach einer fehlgeschlagenen Anmeldung drei weitere Versuche möglich sind. Der Vorgabewert ist 5.

TTYPERM (Zeichenkette)
    Die Zugriffsrechte des Terminals. Der Vorgabewert ist 0600 oder 0620, falls die TTY-Gruppe verwendet wird. Siehe auch mesg(1).

TTYGROUP (Zeichenkette)
    Das Anmelde-TTY wird der Gruppe TTYGROUP gehören. Der Standardwert ist tty. Falls die Gruppe TTYGROUP nicht existiert, wird die Eigentümerschaft des Terminals auf die primäre Gruppe des Benutzers gesetzt.

    TTYGROUP kann entweder der Name einer Gruppe oder ein numerischer Gruppenbezeichner sein. Siehe auch mesg(1).

HUSHLOGIN_FILE (Zeichenkette)
    Falls definiert, kann diese Datei alle üblichen Ausgaben während der Anmeldesequenz unterdrücken. Falls ein vollständiger Pfadname angegeben ist (zum Beispiel /etc/hushlogins), dann wird der stille Modus aktiviert, wenn der Name oder die Shell des Benutzers in der Datei gefunden wurde. Falls diese globale Hushlogin-Datei leer ist, dann wird der stille Modus für alle Benutzer aktiviert.

    Falls kein vollständiger Pfadname angegeben ist, dann wird der stille Modus aktiviert, wenn die Datei im Home-Verzeichnis des Benutzers existiert.

    Standardmäßig wird zuerst nach /etc/hushlogins gesucht, und wenn diese Datei nicht existiert, dann nach ~/.hushlogin.

    Falls der Eintrag HUSHLOGIN_FILE leer ist, werden alle Überprüfungen deaktiviert.

DEFAULT_HOME (boolesch)
    gibt an, ob die Anmeldung dennoch erlaubt ist, wenn nicht in das Home-Verzeichnis des Benutzers gewechselt werden kann. Falls auf yes gesetzt, wird der Benutzer im Wurzelverzeichnis (/) angemeldet, falls es nicht möglich ist, in dessen eigenes Home-Verzeichnis zu wechseln. Der Vorgabewert ist yes.

LASTLOG_UID_MAX (vorzeichenlose Zahl)
    Die höchste Benutzerkennung, für die die lastlog-Einträge aktualisiert werden sollen. Da höhere Benutzerkennungen normalerweise von fernen Benutzeridentitäts- und -authentifizierungsdiensten erfasst werden, muss für diese keine große, Sparse-lastlog-Datei erstellt werden. Wenn in der Konfiguration keine LASTLOG_UID_MAX-Option vorhanden ist, gibt es keine Einschränkung der Benutzerkennungen für das Schreiben von lastlog-Einträgen. Der Vorgabewert ist ULONG_MAX.

LOG_UNKFAIL_ENAB (boolesch)
    Aktiviert die Anzeige unbekannter Benutzernamen, wenn fehlgeschlagene Anmeldungen aufgezeichnet werden. Standardmäßig no.

    Beachten Sie, dass die Protokollierung unbekannter Benutzernamen ein Sicherheitsrisiko darstellen kann, da ein Benutzer sein Passwort statt des Benutzernamens eingegeben haben könnte.

ENV_PATH (Zeichenkette)
    Falls gesetzt, wird es bei der Anmeldung eines regulären Benutzers zum Definieren der Umgebungsvariable PATH verwendet. Der Vorgabewert ist /usr/local/bin:/bin:/usr/bin>.

ENV_ROOTPATH (Zeichenkette), ENV_SUPATH (Zeichenkette)
    Falls gesetzt, wird es bei der Anmeldung des Superusers zum Definieren der Umgebungsvariable PATH verwendet. ENV_ROOTPATH wird bevorzugt. Der Vorgabewert ist /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin.

LOGIN_SHELL_FALLBACK (boolesch)
    Wenn diese Option auf yes gesetzt ist, wird beim Anmelden eine gültige Shell aus /etc/shells bereitgestellt, wenn die in /etc/passwd angegebene Shell ungültig oder aufgrund von Verwaltungsfehlern nicht zugänglich ist. Dadurch wird sichergestellt, dass sich Benutzer weiterhin anmelden können. Allerdings können beabsichtigte Shell-Einschränkungen umgangen werden, was möglicherweise zu unerwartetem Verhalten führt, wenn die Ausweich-Shell von der konfigurierten abweicht.

DATEIEN

/var/run/utmp, /var/log/wtmp, /var/log/lastlog, /var/spool/mail/*, /etc/motd, /etc/passwd, /etc/nologin, /etc/pam.d/login, /etc/pam.d/remote, /etc/hushlogins, $HOME/.hushlogin

ZUGANGSBERECHTIGUNGEN

login unterstützt die Konfiguration mittels Systemd-Zugangsberechtigungen (siehe login liest die folgenden Systemd-Zugangsberechtigungen:

login.noauth (boolesch)
    Wenn gesetzt, wird login so eingerichtet, dass die Authentifizierung bei der Anmeldung übersprungen wird, ähnlich wie mit der Option -f.

FEHLER

Die nicht dokumentierte BSD-Option -r wird nicht unterstützt. Diese könnten einige rlogind(8)-Programme benötigen.

Eine rekursive Anmeldung, wie sie in der guten alten Zeit gängig war, funktioniert nicht mehr. Für die meisten Zwecke ist su(1) ein zufriedenstellender Ersatz. Tatsächlich führt login aus Sicherheitsgründen einen vhangup(2)-Systemaufruf aus, um eventuell am TTY wartende Prozesse zu entfernen, damit unerlaubtes Mitlesen von Passwörtern verhindert wird. Wenn Sie sich mit dem Befehl login anmelden, wird die umgebende Shell durch vhangup(2) getötet, weil sie nicht mehr der wahre Eigentümer des TTYs ist. Dies können Sie vermeiden, indem Sie sich mittels exec login in einer Shell der obersten Ebene oder xterm anmelden.

AUTOREN

Abgeleitet von der BSD-Version login 5.40 (9. Mai 1989) von für HP-UX. Auf Linux 0.12 portiert: Als PAM-exklusive Version von neu geschrieben.

SIEHE AUCH

mail(1), passwd(1), passwd(5), utmp(5), environ(7), getty(8), init(8), lastlog(8), shutdown(8)

FEHLER MELDEN

Nutzen Sie zum Melden von Fehlern das

VERFÜGBARKEIT

Der Befehl login ist Teil des Pakets util-linux, welches aus dem heruntergeladen werden kann.