Zum Inhalt springen

login

Aus Foxwiki
Die 5 zuletzt angesehenen Seiten:  login

login - Sitzung auf einem System starten

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 beibehalten, falls sie existiert (andere Umgebungsvariablen werden beibehalten, wenn die Option -p angegeben ist), anderenfalls wird sie auf den Terminaltyp Ihres TTYs initialisiert

Die von PAM definierten Umgebungsvariablen werden stets beibehalten

Dann wird die Shell des Benutzers gestartet

  • Falls in /etc/passwd keine 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)

Installation

VERFÜGBARKEIT

Der Befehl login ist Teil des Pakets util-linux, welches aus dem Linux-Kernel-Archiv <https://www.kernel.org/pub/linux/utils/util-linux/> heruntergeladen werden kann.

  1. util-linux 2.40.4 2025-02-25 LOGIN(1)

Aufruf

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

Optionen

Unix GNU Parameter Beschreibung
-p wird von getty(8) verwendet, um login anzuweisen, die Umgebung nicht zurückzusetzen.
-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.
-h --help zeigt einen Hilfetext an und beendet das Programm.
-V --version zeigt Versionsinformationen an und beendet das Programm.

Parameter

Umgebungsvariablen

Exit-Status

Anwendung

Problembehebung

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.

Konfiguration

Einstellungen

login liest die Konfigurationsdatei /etc/login.defs

  • Beachten Sie, dass die Konfigurationsdatei Teil eines anderen Pakets sein könnte (beispielsweise shadow-utils)
Die folgenden Konfigurationseinträge sind für login relevant
Eintrag Type Beschreibung
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_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.
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
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
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.

ZUGANGSBERECHTIGUNGEN

login unterstützt die Konfiguration mittels Systemd-Zugangsberechtigungen (siehe https://systemd.io/CREDENTIALS/). 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.

Dateien

Datei Beschreibung
/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


Anhang

Siehe auch

Dokumentation

Man-Page
Info-Pages

Links

Projekt

Weblinks