LOGIN(1) LOGIN(1) НАЗВАНИЕ 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) в Справочнике прог- раммиста. ДИАГНОСТИКА login incorrect Имя пользователя или пароль не соответствуют заре гистрированным в системе. No shell, cannot open password file, no directory Обратитесь к администратору системы. No utmp entry, You must exec "login" from the lowest level "sh" Вы попытались выполнить login как команду без ис- пользования внутренней команды shell'а exec или пытались выполнить ее не из первоначального shell'а.