Scroll to navigation

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

Używane przez getty(8) do przekazania programowi login informacji o konieczności zachowania środowiska. Zob. też pozycję LOGIN_ENV_SAFELIST pliku konfiguracyjnego.

-f

Służy do pominięcia uwierzytelnienia przy logowaniu. Opcja ta jest zwykle używana przez funkcję automatycznego logowania getty(8).

-h

Używane przez inne serwery (takie jak telnetd(8)) do przekazania nazwy zdalnej stacji do programu login, dzięki czemu może on ją umieścić w utmp i wtmp. Opcji tej może użyć jedynie superużytkownik.

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

Używane przez inne serwery (takie jak telnetd(8)) do przekazania programowi login, że w zachęcie login: wyłączone ma być wyświetlanie nazwy stacji. Zob. też LOGIN_PLAIN_PROMPT poniżej.

-h, --help

Wyświetla ten tekst i wychodzi.

-V, --version

Wyświetla wersję i wychodzi.

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)

Okreśal listę rozdzielonych znakiem ":" plików i katalogów "komunikatu dnia" (motd), do wyświetlenia przy zalogowaniu. Jeśli podana ścieżka jest katalogiem, to wyświetlane będą wszystkie pliki z rozszerzeniem .motd, w kolejności sortowania według wersji, z tego katalogu.

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)

Wymusza zaprzestanie wyświetlenia zawartości podanej w MOTD_FILE przez login, po osiągnięciu pierwszego dostępnego wpisu na liście. Proszęzauważyć, że w tym przypadku katalog uważa się za jeden wpis. Opcja pozwala na skonfigurowanie zachowania login w sposób bardziej kompatybilny z pam_motd. Domyślną wartością jest no (nie).

LOGIN_ENV_SAFELIST (łańcuch)

Zmusza login do chronienia zmiennych środowiskowych, jeśli nie jest używane -p. Wartością łańcucha jest lista nazw zmiennych, rozdzielonych przecinkiem. Przykład: "LANG,LC_MESSAGES,LC_COLLATE". Biała lista jest ignorowana w przypadku zmiennych środowiskowych HOME, SHELL i USER. Nie resetuje zmiennych środowiskowych określonych w liście (używającej przecinka jako separatora) przy czyszczeniu środowiska do --login. Biała lista jest ignorowana w przypadku zmiennych środowiskowych HOME, SHELL, USER, LOGNAME i PATH.

LOGIN_PLAIN_PROMPT (wartość logiczna)

Infomuje login, że w zachęcie login: wyłączone ma być wyświetlanie nazwy stacji. Jest to alternatywa wobec opcji wiersza poleceń -H. Wartość domyślna to no

LOGIN_TIMEOUT (liczba)

Maksymalny czas oczekiwania (w sekundach) na zalogowanie. Wartość domyślna to 60.

LOGIN_RETRIES (liczba)

Maksymalna liczba ponownych prób logowania, po podaniu błędnego hasła. Wartość domyślna to 3.

LOGIN_KEEP_USERNAME (wartość logiczna)

Nakazuje programowi login dopytać tylko o hasło, gdy uwierzytelnienie nie powiodło się, ale nazwa użytkownika jest prawidłowa. Wartość domyślna to no (nie).

FAIL_DELAY (liczba)

Opóźnienie (w sekundach) przed możliwością ponowienia kolejnych trzech prób logowania, po ich niepowodzeniu. Wartość domyślna to 5.

TTYPERM (łańcuch)

Uprawnienia terminala. Wartość domyślna to 0600 albo 0620, gdy używana jest grupa tty. Zob. też mesg(1).

TTYGROUP (łańcuch)

Terminal logowania będzie własnością grupy TTYGROUP. Wartość domyślna to tty. Jeśli grupa TTYGROUP nie istnieje, to własność terminala jest ustawiana na podstawową grupę użytkownika.

TTYGROUP może być nazwą grupy lub numerycznym identyfikatorem grupy. Zob. też mesg(1).

HUSHLOGIN_FILE (łańcuch)

Po zdefiniowaniu, plik ten wstrzymuje wszelkie zwykłe komunikaty przy sekwencji logowania. Jeśli podano pełną ścieżkę (np. /etc/hushlogins), to tryb cichy zostanie włączony, jeśli znaleziono w nim nazwę danego użytkownika lub powłokę. Jeśli globalny plik hush jest pusty, to tryb cichy będzie włączony dla wszystkich użytkowników.

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)

Wskazuje, czy logowanie jest dozwolone, gdy nie można zmienić katalogu na katalog domowy użytkownika. Przy ustawieniu na yes, użytkownik zostanie zalogowany w katalogu głównym (/), jeśli nie da się zmienić katalogu na jego katalog domowy. Wartość domyślna to yes.

LASTLOG_UID_MAX (liczba bez znaku)

Największy numer identyfikatora użytkownika, dla którego aktualizowany ma być plik lastlog. Jako że duże numery identyfikatoró są zwykle śledzone przez zdalne usługi identyfikowania i uwierzytelniania użytkowników, nie ma potrzeby tworzenia dla nich opasłego pliku lastlog. Jeśli opcja LASTLOG_UID_MAX nie jest obecna w konfiguracji, to do zapisywania wpisów lastlog nie będzie stosowany limit identyfikatora użytkownika. Wartość domyślna to ULONG_MAX.

LOG_UNKFAIL_ENAB (wartość logiczna)

Włącza wyświetlanie nieznanych nazw użytkowników, przy zapisywaniu niepowodzeń logowania. Wartość domyślna to no (nie).

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)

Jeśli ustawiony, posłuży do zdefiniwoania zmiennej środowiskowej PATH, używanej przy logowaniu zwykłych użytkowników. Wartość domyślna to /usr/local/bin:/bin:/usr/bin.

ENV_ROOTPATH (łańcuch), ENV_SUPATH (łańcuch)

Jeśli ustawiony, posłuży do zdefiniwoania zmiennej środowiskowej PATH, używanej przy logowaniu superużytkownika. ENV_ROOTPATH ma pierwszeństwo. Wartość domyślna to /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin.

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)

Jeśli ustawiona, konfiguruje login w sposób pomijający uwierzytelnienie logowania, podobnie do opcji -f.

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