login
Вход в
систему
Синтаксис:
login
[-fpq] [-c|u] [-h хост] [-t таймаут]
[имя_пользователя
[переменная1 переменная2 ...]]
Поддерживаемые
платформы:
Neutrino
Опции:
-c
Использовать
только шифрование, совместимое с QNX 4.
-f
Пропускать
аутентификацию при входе в систему (принудительно). Эта
опция используется, если надлежащая аутентификация уже
выполнена и ввод пароля не требуется. Пользователю root эта
опция позволяет входить в систему с именем имя_пользователя без
приглашения ввода пароля. Эту опцию можно использовать
только после входа в систему с учетной записью root или
если вход в систему уже выполнен с именем имя_пользователя.
-h хост
Указать для входа
в систему, что подключение выполняется с хоста хост.
-p
Сохранять среду.
Если опция -p не
указана, среда сбрасывается, после чего определяются только
следующие переменные среды: SHELL, HOME, LOGNAME, USERNAME (то
же, что и LOGNAME), TERM (если
определена в среде вызывающего объекта) и PATH
(значение определяется значением _CS_PATH).
Переменные среды, указанные в файле /etc/default/login, определяются
независимо от наличия опции -p.
-q
Вывести краткую
информации; подавлять дополнительные выходные сообщения.
-t таймаут
Отменить вход в
систему, если не получен ответ в течение числа секунд,
равного значению таймаут. Значение 0 (по умолчанию)
деактивирует функцию таймаута.
-u
Использовать
только шифрование, совместимое с UNIX.
Описание:
Команда
login
запускает сеанс, связанный с определенным пользователем. Она
используется при входе первого пользователя в систему на
компьютере или входе под другим именем. Если имя_пользователя при
вызове команды login не
указано, то запрашивается имя пользователя. Приглашение на
ввод пароля выдается всегда.
Примечание.
Для этой утилиты в полномочиях пользователя необходимо
установить бит setuid ("set user ID" (установить
идентификатор пользователя)). В случае использования утилит
mkefs,
mketfs
или mkifs на хосте Windows для включения
этой утилиты в образ необходимо задать атрибут perms
для явного определения полномочий, а также атрибуты uid
и gid для корректной настройки
принадлежности.
Команда
login
проверяет имя пользователя и пароль по базе данных паролей и
при успешной проверке запускает сеанс пользователя. Если имя
пользователя и пароль не является допустимым, утилита login
запрашивает их повторный ввод.
В целях
обеспечения совместимости утилита login
проверяет пароль с применением двух методов шифрования:
qnx_crypt()
Совместимый с QNX
4.
crypt()
Совместимый с
UNIX (NetBSD, Linux, Solaris).
Проверка
является
успешной
в случае, если соответствие пароля имеет место при любом
варианте шифрования. Опции -c и -u
позволяют несколько повысить безопасность, т.к. используется
только один вариант шифрования.
Утилита
login
устанавливает идентификатор пользователя и идентификатор
группы, а также текущий рабочий каталог, затем запускает
командный интерпретатор в соответствии со спецификациями,
указанными в базе данных паролей.
Если
запустить командный интерпретатор не удается, утилита login
выводит сообщение No
Shell и завершает
работу. Запуск командного интерпретатора выполняется с
указанием тире (-) перед
его именем в качестве аргумента 0, что является указанием
командному интерпретатору на выполнение подпрограммы
запуска.
Утилита
login
определяет переменные среды SHELL, HOME, LOGNAME, USERNAME (то
же, что и LOGNAME), TERM (если
определена в среде вызывающего объекта) и PATH
(значение определяется значением _CS_PATH). Для получения
дополнительной информации об установке переменной среды PATH см.
"Setting PATH and LD_LIBRARY_PATH"
("Установка переменных PATH и LD_LIBRARY_PATH") в главе
"Configuring Your Environment" ("Конфигурирование среды") «Руководства
системного программиста (администратора)» КПДА.10964-01 32.
Кроме
того, утилита login
обновляет учетную информацию системы в файлах /var/log/utmp, /var/log/wtmp и /var/log/lastlog, если
эти файлы существуют.
Примечание.
Утилита login не создает файлы /var/log/utmp,
/var/log/wtmp
и /var/log/lastlog, если они не
существуют. Размеры этих файлов могут быстро увеличиться,
что негативно влияет на встраиваемую систему ввиду
ограниченности ее ресурсов.
Утилита
login также
определяет переменные среды, указанные в файле /etc/default/login. В
этом файле можно указать, какие параметры настройки
переменных среды необходимо использовать в различных сеансах
входа в систему. Если при запуске утилиты login
какая-либо переменная не определена, и файл /etc/default/login
содержит значение этой переменной по умолчанию, то будет
использовно значение по умолчанию из файла /etc/default/login. Если
этот файл не содержит значение переменной по умолчанию, то
утилита login
выполняет сброс переменной. Если при запуске утилиты login
переменная уже определена, и указана опция -p, то
имеющееся значение сохраняется даже в том случае, если файл
/etc/default/login
содержит значение по умолчанию для этой переменной. Опция -p
позволяет передавать переменные среды, зависящие от узлов,
из процесса запуска системы к приложениям.
Переменные
среды
можно
определять в командной строке после имени пользователя в
следующей форме: ПЕРЕМЕННАЯ[=ЗНАЧЕНИЕ].
Пример.
login thomasf
APPLES=RED TOMATOES
добавляет в среду
входа в систему следующее:
APPLES = RED
TOMATOES = 1
Значения,
указанные в командной строке, всегда добавляются в новую
среду (независимо от опции -p) и
переопределяют имеющиеся значения. Значения переменных SHELL, HOME, TERM, LOGNAME, USER,
установленные утилитой login,
переопределяют значения, указанные в командной строке.
Переменные
среды,
значения
которых должны сохраняться, можно задать без использования
опции -p путем
внесения их имен в файл /etc/default/login.
Например, файл /etc/default/login
содержит следующее:
SYSNAME
TZ
PHOTON
В этом случае
при запуске утилиты login без
опции -p в
новую среду передаются переменные SYSNAME, TZ и PHOTON (при
их наличии). Эти значения могут быть переопределены
значениями в командной строке.
Выполнить
команду login можно
только из начального командного интерпретатора или при
отсутствии активного сеанса; вложение команд login
невозможно.
Если
утилита login
запускается из начального командного интерпретатора, то
командный интерпретатор, из которого она была запущена,
завершает работу, т.к. по умолчанию login
является псевдонимом команды exec login.
Файлы:
/bin/sh
Командный
интерпретатор Korn QNX Neutrino.
/dev/console
Ссылка на
устройство системной консоли.
/dev/log
FIFO-буфер,
принимающий сообщения журнала для syslogd.
/dev/tty
Ссылка на
управляющий терминал для текущего процесса.
/etc/group
Определяет
известные группы для системы.
/etc/default/login
Устанавливает
переменные среды при входе в систему.
/etc/passwd
Содержит базу
данных пользователей (имя пользователя, идентификатор
пользователя, идентификатор группы, полное имя, основной
каталог, командный интерпретатор).
/etc/shadow
Содержит
зашифрованный пароль входа в систему для каждого
идентификатора пользователя.
/var/log/utmp
/var/log/wtmp
/var/log/lastlog
Если эти файлы
существуют, в них добавляются учетные записи.