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).
05/25/2012 shadow-utils 4.1.5.1