|
НАЗВАНИЕ
login - вход в систему
СИНТАКСИС
login [имя [аргумент_окружения ...]]
ОПИСАНИЕ
Команда login используется в начале каждого сеанса работы за терминалом и дает возможность пользователю
идентифицировать себя для системы. Команду login можно
вызвать явно или ее может выдать система при первом установлении связи. Эта команда также выдается системой в
тот момент, когда предыдущий пользователь закончил сеанс работы. Информация о том, как начать работу, имеется в начале этого Справочника (см. КАК НАЧАТЯ?).
Если команда login вызывается явно, она должна заместить исходный интерпретатор команд. Данное действие выполняется после ввода в первоначальном shell'е строки
exec login
Команда login запрашивает входное имя (если оно не задано как аргумент) и пароль (если он есть). Во время ввода пароля эхоотображение выключено (там, где это возможно), поэтому в протокол сеанса пароль не попадет.
Если в течение определенного промежутка времени (например, одной минуты) пользователь не завершил вход в систему, то скорее всего его "молча" отсоединят.
После успешного входа в систему модифицируются учетные файлы, выполняется процедура /etc/profile и выдается дополнительное сообщение из файла /etc/motd, если файл не пуст. Устанавливаются идентификатор пользователя, идентификатор группы, рабочий каталог и интерпретатор команд [обычно это sh(1)]. Если в рабочем каталоге существует файл .profile, то он выполняется. Все эти спецификации находятся в строке файла /etc/passwd, описывающей данного пользователя. Имя интерпретатора команд состоит из символа -, за которым идет последний компонент маршрутного имени интерпретатора (например, -sh). Если это поле в файле паролей пусто, то используется имя стандартного интерпретатора команд /bin/sh. Если в этом поле стоит символ *, то каталог, указанный в предыдущем поле, становится корневым - стартовой точкой при поиске файлов по маршрутным именам, начинающимся с символа /. Затем в новой иерархии файлов, которая должна содержать свои /bin/login и /etc/passwd, команда login выполняется повторно.
Стандартное окружение инициализируется следующим образом:
HOME=входной_каталог PATH=:/bin:/usr/bin SHELL=последнее_поле_строки_из_файла_паролей MAIL=/usr/mail/входное_имя TZ=информация_о_часовом_поясе
Окружение можно расширить или модифицировать с помощью дополнительных аргументов команды login либо во время ее запуска, либо в момент запроса входного имени. Аргументы могут быть в двух формах: либо yyy, либо xxx=yyy. Аргументы без знака равенства помещаются в окружение в виде
Ln=yyy
где n - номер, отсчитываемый от 0 и увеличивающийся на 1 всякий раз, когда требуется новое имя переменной. В аргументах вида xxx=yyy xxx означает имя переменной, yyy - ее значение. Именно так эта пара и помещается в окружение. Если одноименная переменная уже входила в окружение, ее старое значение пропадает, однако имеются два исключения: значения переменных PATH и SHELL изменить нельзя. В результате пользователи, вошедшие в ограниченный shell [см rsh(1)], лишены возможности снять ограничения.
Команды login и getty допускают экранирование посредством символа \. Тем самым в аргументы могут входить пробелы и символы табуляции, если перед ними поместить \.
ФАЙЛЫ
/etc/utmp Файл учета. /etc/wtmp Файл учета. /usr/mail/имя_пользователя Почтовый ящик пользователя. /etc/motd Дополнительное сообщение. /etc/passwd Файл паролей. /etc/profile Системный профайл. .profile Пользовательский профайл.
СМ. ТАКЖЕ
mail(1), newgrp(1), sh(1), su(1).
passwd(4), profile(4), environ(5) в Справочнике программиста.
ДИАГНОСТИКА
|