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

Если эти файлы существуют, в них добавляются учетные записи.