Scroll to navigation

login(1) Пользовательские команды login(1)

НАЗВАНИЕ

login - начинает сеанс в системе

СИНТАКСИС

login [-p] [-h узел] [имя_пользователя] [ПЕРЕМЕННАЯ_ОКРУЖЕНИЯ=ЗНАЧЕНИЕ...]

login [-p] [-h узел] -f имя_пользователя

login [-p] -r узел

ОПИСАНИЕ

Программа login используется для запуска нового сеанса в системе. Как правило, эта программа вызывается автоматически и выводит приглашение login: на терминал пользователя. Программа login может восприниматься оболочкой командной строки не как простая программа и вызываться не как подпроцесс. При вызове из оболочки login должна запускаться посредством вызова exec login, что приводит к завершению работы пользователя в текущей оболочке (и, таким образом, вновь входящий в систему пользователь не попадёт в сеанс вызвавшего). Попытка запустить login из любой оболочки, отличной от регистрационной, приводит к сообщению об ошибке.

В какой-то момент пользователя попросят ввести свой пароль. Чтобы не допустить раскрытия, символы при вводе пароля не отображаются. Разрешено очень маленькое количество попыток ввода неправильного пароля, перед тем как login закончит работу и прервёт подключение.

Если включён механизм устаревания пароля учётной записи, то перед входом в систему может потребоваться смена пароля. Для этого нужно ввести старый пароль и новый пароль. Подробней об этом написано в passwd(1).

Значение идентификатора учётной записи и группы будет взято из файла /etc/passwd. Значения переменных $HOME, $SHELL, $PATH, $LOGNAME и $MAIL устанавливаются согласно соответствующим полям учётной записи пользователя. Также могут быть установлены значения ulimit, umask и nice из поля GECOS.

В некоторых системах переменной окружения $TERM будет присвоен тип терминала линии tty, согласно данным из файла /etc/ttytype.

Также может быть выполнен сценарий инициализации пользовательского интерпретатора команд. Подробней об этой функции смотрите соответствующую справочную страницу.

Субсистемный вход в систему можно распознать по наличию символа «*» в начале регистрационной оболочки. Заданный домашний каталог будет использован как корень новой файловой системы, в которой регистрируется пользователь.

Программа login НЕ удаляет записи о пользователях из файла utmp. Эта задача программ getty(8) и init(8) — удалять записи о владельце терминального сеанса. Если login запускается из командной строки без exec, то пользователь продолжает находиться в системе даже после завершения работы в «порождённом сеансе».

ПАРАМЕТРЫ

-f
Не выполнять аутентификацию, пользователь уже прошёл проверку.

Замечание: в этом случае имя_пользователя обязательно.

-h

Имя удалённого узла, на который нужно войти.

-p

Сохранить окружение.

-r

Выполнить протокол autologin для rlogin.

Параметры -r, -h и -f используются только если login запускается суперпользователем.

ПРЕДОСТЕРЕЖЕНИЯ

Данная версия login может быть собрана с разными параметрами и только некоторые из них смогут быть использованы на любой машине.

Расположение файлов может отличаться на разных системах.

Программа login НЕ удаляет записи о пользователях из файла utmp. Эта задача программ getty(8) и init(8) — удалять записи о владельце терминального сеанса. Если login запускается из командной строки без exec, то пользователь продолжает находиться в системе даже после завершения работы в «порождённом сеансе».

Как и для любой программы, запуск login может быть подделан. Если неуполномоченные пользователи имеют физический доступ к машине, то атакующий может использовать это для получения пароля следующего человека, который будет работать за машиной. Под Linux пользователи могут использовать механизм SAK для установления достоверного пути и таким образом предотвращения атаки.

НАСТРОЙКА

На работу этого инструмента влияют следующие переменные настройки из /etc/login.defs:

CONSOLE_GROUPS (строка)

Список групп для добавления к набору пользовательских дополнительных групп при входе с консоли (определяемой переменной CONSOLE). По умолчанию не указана.

Используйте осторожно — может дать пользователям постоянный доступ к этим группам, даже если они не входили с консоли.

DEFAULT_HOME (логический)

Определяет, можно ли войти в систему, если нельзя выполнить cd в домашний каталог. По умолчанию «no».

Если равно yes, то пользователь будет попадать в корневой каталог (/), если невозможно выполнить cd в его домашний каталог.

ENV_PATH (строка)

If set, it will be used to define the PATH environment variable when a regular user login. The value is a colon separated list of paths (for example /bin:/usr/bin) and can be preceded by PATH=. The default value is PATH=/bin:/usr/bin.

ENV_SUPATH (строка)

If set, it will be used to define the PATH environment variable when the superuser login. The value is a colon separated list of paths (for example /sbin:/bin:/usr/sbin:/usr/bin) and can be preceded by PATH=. The default value is PATH=/sbin:/bin:/usr/sbin:/usr/bin.

ERASECHAR (число)

Символ ERASE у терминала (010 = backspace, 0177 = DEL).

Значение может начинаться с «0» при указании значения в восьмеричной системе счисления или «0x» при указании значения в шестнадцатеричной системе счисления.

FAIL_DELAY (число)

Задержка в секундах перед повторной попыткой после неудачного входа.

FAKE_SHELL (строка)

Если установлена, то программа login запустит указанную оболочку вместо пользовательской оболочки заданной в /etc/passwd.

HUSHLOGIN_FILE (строка)

Если определена, то этот файл может заблокировать все обычные переговоры (chatter) при входе. Если указан полный путь к файлу, то будет включён сокращённый (hushed) режим, если в этом файле указано имя пользователя или оболочка. Если указан не полный путь, то будет включён сокращённый (hushed) режим, если файл находится в домашнем каталоге пользователя.

KILLCHAR (число)

Символ KILL у терминала (025 = CTRL/U).

Значение может начинаться с «0» при указании значения в восьмеричной системе счисления или «0x» при указании значения в шестнадцатеричной системе счисления.

LOGIN_RETRIES (число)

Максимальное количество попыток входа при вводе неверного пароля.

Наиболее вероятно это значение будет переопределено PAM, так как по умолчанию в модуле pam_unix определено 3 попытки. Однако, это значение является резервом, если вы используете модуль аутентификации, который не учитывает PAM_MAXTRIES.

LOGIN_TIMEOUT (число)

Максимальное время в секундах, отведённое на вход.

LOG_OK_LOGINS (логический)

Включить протоколирование успешных входов.

LOG_UNKFAIL_ENAB (логический)

Включить показ неизвестных имён пользователей при записи неудачных попыток входа.

Замечание: протоколирование неизвестных имён пользователя может привести к проблемам с безопасностью, если пользователь введёт свой пароль вместо своего имени.

TTYGROUP (строка), TTYPERM (строка)

Права терминала: tty входа будет принадлежать группе TTYGROUP, а права будут назначены в соответствии с TTYPERM.

По умолчанию, терминалом владеет первичная группа пользователя, а права устанавливаются в 0600.

В TTYGROUP может задаваться или имя группы, или числовой идентификатор группы.

Если ваша программа write имеет «setgid» со специальной группой, которой принадлежат терминалы, то присвойте TTYGROUP номер этой группы, а TTYPERM значение 0620. В противном случае оставьте TTYGROUP закомментированной и назначьте TTYPERM значение 622 или 600.

TTYTYPE_FILE (строка)

Если определена, то в ней указывается имя файла, в котором описано соответствие между линией tty и параметром окружения TERM. Каждая строка файла имеет формат вида «vt100 tty01».

USERGROUPS_ENAB (логический)

Если значение равно yes, то userdel удаляет пользовательскую группу, если в ней нет больше членов, а useradd по умолчанию создаёт группу с именем пользователя.

ФАЙЛЫ

/var/run/utmp
содержит список работающих сеансов в системе

/var/log/wtmp

содержит список завершённых сеансов работы с системой

/etc/passwd

содержит информацию о пользователях

/etc/shadow

содержит защищаемую информацию о пользователях

/etc/motd

содержит системные сообщения за день

/etc/nologin

при существовании файла блокируется доступ в систему обычным пользователям

/etc/ttytype

содержит список типов терминалов

$HOME/.hushlogin

при существовании файла системные сообщения при входе в систему не выводятся

/etc/login.defs

содержит конфигурацию подсистемы теневых паролей

СМОТРИТЕ ТАКЖЕ

mail(1), passwd(1), sh(1), su(1), login.defs(5), nologin(5), passwd(5), securetty(5), getty(8).
07/16/2019 shadow-utils 4.7