LOGIN(1) | Polecenia użytkownika | LOGIN(1) |
NAZWA¶
login - rozpoczyna sesję systemu
SKŁADNIA¶
login [-p] [-h stacja] [-H] [-f nazwa-użytkownika|nazwa-użytkownika]
OPIS¶
login służy do logowania się do systemu. Jeśli nie podano argumentu, login zapyta o nazwę użytkownika.prompts for the username.
Użytkownik jest następnie proszony o hasło, jeśli to wymagane. Aby go nie ujawniać, hasło nie jest odbijane na terminalu. Możliwe jest popełnienie ograniczonej liczby błędów, po których login zakończy działanie i przerwie połączenie. Zob. LOGIN_RETRIES w rozdziale in the ELEMENTY PLIKU KONFIGURACYJNEGO.
Jeśli dla hasła włączono opcję przedawnienia, użytkownik może być poproszony o nowe hasło przed kontynuowaniem. W takim przypadku, przed dalszą pracą podaje się najpierw stare hasło, a później nowe. Więcej informacji w podręczniku passwd(1).
Identyfikatory użytkownika i grupy zostaną ustawione zgodnie z ich wartościami w pliku /etc/passwd. Jedyny wyjątek występuje, gdy identyfikator użytkownika jest równy zero. W takim przypadku ustawiany jest wyłącznie identyfikator podstawowej grupy konta. Pozwala to zalogowanie się administratorowi systemu nawet, gdy występują problemy z siecią. Wartości zmiennych środowiskowych $HOME, $USER, $SHELL, $PATH, $LOGNAME i $MAIL są ustawiane zgodnie z odpowiednimi polami wpisu hasła. $PATH domyślnie wynosi /usr/local/bin:/bin:/usr/bin dla zwykłych użytkowników i /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin dla roota, chyba że skonfigurowano je inaczej.
Zmienna środowiskowa $TERM zostanie zachowana, jeśli tylko istnieje, albo będzie zainicjowana bieżącym typem terminala użytkownika. Inne zmienne środowiskowe zostaną zachowane, jeśli podano opcję -p.
Zmienne środowiskowe definiowane przez PAM są zachowywane zawsze.
Następnie uruchamiana jest powłoka użytkownika. Jeśli dla użytkownika nie określono powłoki w pliku /etc/passwd, stosowana jest /bin/sh. Jeśli podana powłoka zawiera spację, jest traktowana jako skrypt powłoki. Jeśli w /etc/passwd nie podano katalogu domowego, używany jest /, po czym dokonywane jest sprawdzenie .hushlogin opisane poniżej.
Jeśli plik .hushlogin istnieje, dokonywane jest "ciche" logowanie. Nie jest wówczas dokonywane sprawdzenie poczty, wypisywanie czasu ostatniego logowania i komunikatu dnia. W innym przypadku, jeśli tylko istnieje /var/log/lastlog, wypisywany jest czas ostatniego logowania oraz zapisywane jest bieżące logowanie.
OPCJE¶
-p
-f
-h
Proszę zauważyć, że opcja -h ma wpływ na nazwę usługi PAM. Standardową nazwą usługi jest login, ale z opcją -h nazwą staje się remote. Jest konieczne, aby utworzyć prawidłowe pliki konfiguracyjne PAM (np. /etc/pam.d/login i /etc/pam.d/remote).
-H
-h, --help
-V, --version
ELEMENTY PLIKU KONFIGURACYJNEGO¶
login odczytuje plik konfiguracyjny /etc/login.defs (zob. login.defs(5)). Proszę zauważyć, że plik konfiguracyjny mógł być dostarczony przez inny pakiet (np. shadow-utils). Poniższe elementy konfiguracji są istotne dla login:
MOTD_FILE (łańcuch)
Wartością domyślną jest /usr/share/misc/motd:/run/motd:/etc/motd. Jeśli pozycja MOTD_FILE jest pusta lub włączono ciche logowanie, to komunikaty dnia nie są wyświetlane. Proszę zauważyć, że taką samą funkcjonalność zapewnia też moduł PAM pam_motd(8).
Katalogi w MOTD_FILE są obsługiwane od wersji 2.36.
Proszę zwrócić uwagę, że login nie implementuje mechanizmu przesłaniania nazw plików, obecnego w pam_motd (zob. też MOTD_FIRSTONLY), lecz wypisywana jest zawartość ze wszystkich plików. Zaleca się utrzymywanie dodatkowej logiki w skryptach generujących zawartość i używanie /run/motd.d, zamiast korzystać z zachowania przesłaniania ustawionego na sztywno w narzędziach systemowych.
MOTD_FIRSTONLY (wartość logiczna)
LOGIN_ENV_SAFELIST (łańcuch)
LOGIN_PLAIN_PROMPT (wartość logiczna)
LOGIN_TIMEOUT (liczba)
LOGIN_RETRIES (liczba)
LOGIN_KEEP_USERNAME (wartość logiczna)
FAIL_DELAY (liczba)
TTYPERM (łańcuch)
TTYGROUP (łańcuch)
TTYGROUP może być nazwą grupy lub numerycznym identyfikatorem grupy. Zob. też mesg(1).
HUSHLOGIN_FILE (łańcuch)
Jeśli nie podano pełnej ścieżki, to tryb cichy zostanie włączony, jeśli plik istnieje w katalogu domowym użytkownika.
Domyślnie sprawdzany jest plik /etc/hushlogins, a jeśli on nie istnieje - plik ~/.hushlogin.
Jeśli pozycja HUSHLOGIN_FILE jest pusta, to wszelkie sprawdzenia tego trybu są wyłączane.
DEFAULT_HOME (wartość logiczna)
LASTLOG_UID_MAX (liczba bez znaku)
LOG_UNKFAIL_ENAB (wartość logiczna)
Proszę zauważyć, że zapisywanie nieznanych nazw użytkowników może stanowić problem bezpieczeństwa, gdy użytkownik zamiast loginu poda swoje hasło.
ENV_PATH (łańcuch)
ENV_ROOTPATH (łańcuch), ENV_SUPATH (łańcuch)
PLIKI¶
/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
DANE UWIERZYTELNIAJĄCE¶
login obsługuje konfigurację za pomocą danych uwierzytelniających systemd (zob. <https://systemd.io/CREDENTIALS/>). login odczytuje następujące dane uwierzytelniające systemd:
login.noauth (wartość logiczna)
USTERKI¶
Nieudokumentowana opcja -r BSD. Może być to wymagane przez niektóre programy rlogind(8).
Logowanie rekurencyjne, możliwe w starych, dobrym czasach, obecnie nie działa; do większości zastosowań wystarczającym zamiennikiem jest su(1). Z powodów bezpieczeństwa, login stosuje wywołanie systemowe vhangup(2), aby usunąć wszelkie ewentualne procesy nasłuchujące na tty. Służy to uniknięciu możliwości podsłuchania hasła. Jeśli korzysta się z polecenia login, to otaczająca powłoka jest zabijana przez vhangup(2), ponieważ nie jest to już prawdziwy właściciel tty. Można tego uniknąć używając exec login w xterm lub powłoce najwyższego rzędu.
AUTORZY¶
Pochodzi z programu login 5.40 (5/9/89) BSD autorstwa Michaela Glada <glad@daimi.dk> z HP-UX. Port na Linuksa 0.12: Peter Orbaek <poe@daimi.aau.dk>. Przepisane przez wersję korzystającą tylko z PAM przez Karela Zaka <kzak@redhat.com>
ZOBACZ TAKŻE¶
mail(1), passwd(1), passwd(5), utmp(5), environ(7), getty(8), init(8), lastlog(8), shutdown(8)
ZGŁASZANIE BŁĘDÓW¶
Problemy należy zgłaszać w systemie śledzenia błędów <https://github.com/util-linux/util-linux/issues>.
DOSTĘPNOŚĆ¶
Polecenie login jest częścią pakietu util-linux, który można pobrać ze strony Archiwum jądra Linux <https://www.kernel.org/pub/linux/utils/util-linux/>.
2025-04-09 | util-linux 2.41 |