Программа login используется для запуска нового сеанса в системе. Как правило, эта программа вызывается автоматически и выводит приглашение login: на терминал пользователя. Программа login может восприниматься оболочкой командной строки не как простая программа и вызываться без создания нового процесса. Обычно, оболочка запускает login посредством вызова exec login, что приводит к завершению работы пользователя в текущей оболочке. Попытка запустить login из любой оболочки, отличной от регистрационной, приводит к сообщению об ошибке.
В какой-то момент пользователя попросят ввести свой пароль. Чтобы недопустить раскрытия, символы при вводе пароля не отображаются. Разрешено очень маленькое число попыток ввода неправильного пароля, перед тем как login закончит работу и прервёт подключение.
Если включён механизм устаревания пароля учётной записи, то перед входом в систему может потребоваться смена пароля. Для этого нужно ввести старый пароль и новый пароль. Подробней об этом написано в passwd(1).
После успешного входа в систему, будут показаны сообщения от системы и о наличии почты. Можно отключить вывод файла системных сообщений из файла /etc/motd, создав в домашнем каталоге файл нулевой длины с именем .hushlogin. Сообщение о наличии почты может быть одним из: "У вас есть новая почта.", "У вас есть почта." или "У вас нет почты.", в зависимости от наполненности почтового ящика.
Значения идентификатора учётной записи и группы будет взято из файла /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
Параметры -r, -h и -f используются только если login запускается суперпользователем.
Данная версия login может быть собрана с разными параметрами и только некоторые из них смогут быть использованы на любой машине.
Расположение файлов может отличаться на разных системах.
Программа login НЕ удаляет записи о пользователях из файла utmp. Эта задача программ getty(8) и init(8) удалять записи о владельце терминального сеанса. Если login запускается из командной строки без exec, то пользователь продолжает находиться в системе даже после завершения работы в "порождённом сеансе".
Как и для любой программы, запуск login может быть подделан. Если неуполномоченные пользователи имеют физический доступ к машине, то атакующий может использовать это для получения пароля следующего человека, который будет работать за машиной. Под Linux пользователи могут использовать механизм SAK для установления достоверного пути и таким образом предотвращения атаки.
/var/run/utmp
/var/log/wtmp
/etc/passwd
/etc/shadow
/etc/motd
/etc/nologin
/etc/ttytype
$HOME/.hushlogin
mail(1), passwd(1), sh(1), su(1), login.defs(5), nologin(5), passwd(5), securetty(5), getty(8).
Закладки на сайте Проследить за страницей |
Created 1996-2025 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |