login-ksz

Вход в систему

Синтаксис:

login-ksz [-fpq] [-c|u] [-d задержка] [-h хост] [-m число попыток] [-t таймаут] [имя_пользователя [переменная1 переменная2 ...]]

Опции:

-c
Использовать только шифрование, совместимое с QNX 4.
-d задержка
Задержка между попытками входа в секундах (по умолчанию 3 секунды, возникает после первых трех неудачных попыток входа). После каждой последующей неудачной попытки задержка увеличивается на заданный в параметре интервал.
-f
Пропускать аутентификацию при входе в систему (принудительно). Эта опция используется, если надлежащая аутентификация уже выполнена и ввод пароля не требуется. Пользователю root эта опция позволяет входить в систему с именем имя_пользователя без приглашения ввода пароля. Эту опцию можно использовать только после входа в систему с учетной записью root или если вход в систему уже выполнен с именем имя_пользователя.
-h хост
Указать для входа в систему, что подключение выполняется с хоста хост.
-m число
попыток Максимальное количество попыток входа (по умолчанию 10). По истечении попыток входа в систему утилита переходит в режим бесконечного ожидания, т.е. требуется перезапуск утилиты.
-p
Сохранять среду. Если опция -p не указана, среда сбрасывается, после чего определяются только следующие переменные среды: SHELL, HOME, LOGNAME, USERNAME (то же, что и LOGNAME), TERM (если определена в среде вызывающего объекта) и PATH (значение определяется значением _CS_PATH).

Переменные среды, указанные в файле /etc/default/login, определяются независимо от наличия опции -p.
-q
Вывести краткую информации; подавлять дополнительные выходные сообщения.
-t таймаут
Отменить вход в систему, если не получен ответ в течение числа секунд, равного значению таймаут. Значение 0 (по умолчанию) деактивирует функцию таймаута.
-u
Использовать только шифрование, совместимое с UNIX.

Платформы:

ЗОСРВ «Нейтрино»

Целевые архитектуры:

aarch64, arm, armv7, e2k, mips, ppc, x86

Описание:

Команда login-ksz запускает сеанс, связанный с определенным пользователем. Она используется при входе первого пользователя в систему на компьютере или входе под другим именем. Если имя_пользователя при вызове команды login-ksz не указано, то запрашивается имя пользователя. Приглашение на ввод пароля выдается всегда.


Note: Для этой утилиты в полномочиях пользователя необходимо установить бит setuid ("set user ID" (установить идентификатор пользователя)). В случае использования утилит mkefs, mketfs или mkifs на хосте Windows для включения этой утилиты в образ необходимо задать атрибут perms для явного определения полномочий, а также атрибуты uid и gid для корректной настройки принадлежности.

Команда login-ksz проверяет имя пользователя и пароль по базе данных паролей и при успешной проверке запускает сеанс пользователя. Если имя пользователя и пароль не является допустимым, утилита login-ksz запрашивает их повторный ввод.

В целях обеспечения совместимости утилита login-ksz проверяет пароль с применением трех методов шифрования:

qnx_crypt()
Совместимый с QNX 4.
crypt()
Совместимый с UNIX (NetBSD, Linux, Solaris).
gost_crypt()
Совместимый с ГОСТ Р 34.11-2012 (используется по умолчанию).

Проверка является успешной в случае, если соответствие пароля имеет место при любом варианте шифрования. Опции -c и -u позволяют несколько повысить безопасность, т.к. используется только один вариант шифрования.

Утилита login-ksz устанавливает идентификатор пользователя и идентификатор группы, а также текущий рабочий каталог, затем запускает командный интерпретатор в соответствии со спецификациями, указанными в базе данных паролей.

Если запустить командный интерпретатор не удается, утилита login-ksz выводит сообщение No Shell и завершает работу. Запуск командного интерпретатора выполняется с указанием тире (-) перед его именем в качестве аргумента 0, что является указанием командному интерпретатору на выполнение подпрограммы запуска.

Утилита login-ksz определяет переменные среды SHELL, HOME, LOGNAME, USERNAME (то же, что и LOGNAME), TERM (если определена в среде вызывающего объекта) и PATH (значение определяется значением _CS_PATH). Для получения дополнительной информации об установке переменной среды PATH см. "Задание переменных PATH и LD_LIBRARY_PATH" в главе «Настройка среды» документа «Руководство системного программиста (администратора)» КПДА.10964-01.

Кроме того, утилита login-ksz обновляет учетную информацию системы в файлах /var/log/utmp, /var/log/wtmp и /var/log/lastlog, если эти файлы существуют.


Note: Утилита login-ksz не создает файлы /var/log/utmp, /var/log/wtmp и /var/log/lastlog, если они не существуют. Размеры этих файлов могут быстро увеличиться, что негативно влияет на встраиваемую систему ввиду ограниченности ее ресурсов.

Утилита login-ksz также определяет переменные среды, указанные в файле /etc/default/login. В этом файле можно указать, какие параметры настройки переменных среды необходимо использовать в различных сеансах входа в систему. Если при запуске утилиты login-ksz какая-либо переменная не определена, и файл /etc/default/login содержит значение этой переменной по умолчанию, то будет использовано значение по умолчанию из файла /etc/default/login. Если этот файл не содержит значение переменной по умолчанию, то утилита login-ksz выполняет сброс переменной. Если при запуске утилиты login-ksz переменная уже определена, и указана опция -p, то имеющееся значение сохраняется даже в том случае, если файл /etc/default/login содержит значение по умолчанию для этой переменной. Опция -p позволяет передавать переменные среды, зависящие от узлов, из процесса запуска системы к приложениям.

Переменные среды можно определять в командной строке после имени пользователя в следующей форме: ПЕРЕМЕННАЯ[=ЗНАЧЕНИЕ]. Пример:

login-ksz thomasf APPLES=RED TOMATOES

добавляет в среду входа в систему следующее:

$ echo $APPLES RED $ echo $TOMATOES 1

Значения, указанные в командной строке, всегда добавляются в новую среду (независимо от опции -p) и переопределяют имеющиеся значения. Значения переменных SHELL, HOME, TERM, LOGNAME, USER, установленные утилитой login-ksz, переопределяют значения, указанные в командной строке.

Переменные среды, значения которых должны сохраняться, можно задать без использования опции -p путем внесения их имен в файл /etc/default/login. Например, файл /etc/default/login содержит следующее:

SYSNAME TZ PHOTON

В этом случае при запуске утилиты login-ksz без опции -p в новую среду передаются переменные SYSNAME, TZ и PHOTON (при их наличии). Эти значения могут быть переопределены значениями в командной строке.

Выполнить команду login-ksz можно только из начального командного интерпретатора или при отсутствии активного сеанса; вложение команд login-ksz невозможно.

Если утилита login-ksz запускается из начального командного интерпретатора, то командный интерпретатор, из которого она была запущена, завершает работу.

Защищенная утилита login-ksz отличается от штатной утилиты login наличием интерфейса с поддержкой русского языка и аудита открытия сессии пользователя.

Автоматический вход в систему:

См. статью Вход в систему, выход из нее и завершение работы.

Файлы:

/bin/sh
Командный интерпретатор Korn Shell.
/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
Если эти файлы существуют, в них добавляются учетные записи.

Классификация:

Базовые подсистемы ЗОСРВ «Нейтрино», СЗИ

Тематические ссылки:

logout-ksz, newgrp, passwd, phlogin2-ksz, sh, su

crypt(), endutent(), getutent(), getutid(), getutline(), pututline(), setutent(), utmpname()

Вход в систему, выход из нее и завершение работы




Предыдущий раздел: Утилиты