Организация UNIX-систем и ОС Solaris

       

Учетные записи пользователей


cat /etc/passwd root:x:0:1:Super-User:/:/sbin/sh daemon:x:1:1::/: bin:x:2:2::/usr/bin: sys:x:3:3::/: adm:x:4:4:Admin:/var/adm: lp:x:71:8:Line Printer Admin:/usr/spool/lp: uucp:x:5:5:uucp Admin:/usr/lib/uucp: smmsp:x:25:25:SendMail Message Submission Program:/: listen:x:37:4:Network Admin:/usr/net/nls: nobody:x:60001:60001:Nobody:/: noaccess:x:60002:60002:No Access User:/: nobody4:x:65534:65534:SunOS 4.x Nobody:/: col:x:100:1::/home/col:/bin/sh temp:x:101:1::/home/temp:/bin/sh qaz:x:102:1::/home/qaz:/bin/sh Termos:x:103:1::/home/Termos:/usr/bin/bash

Файл состоит из записей, каждая из которых описывает одного пользователя и занимает одну строку. Поля записей разделяются двоеточиями.

Первое поле - имя пользователя в системе. Это имя пользователь вводит для входа в систему. Имя в Solaris должно иметь длину от 2 до 8 символов и содержать только латинские буквы и цифры. Имя пользователя в Solaris может содержать прописные латинские буквы, однако из соображений совместимости с другими системами UNIX рекомендуется использовать только строчные (маленькие) буквы.

Второе поле - признак наличия пароля. Пустое поле означает отсутствие пароля. Для фактического отсутствия пароля у пользователя необходимо, кроме того, чтобы второе поле в файле /etc/shadow в описании этого пользователя имело значение NP.

Третье поле - идентификатор пользователя, UID.

Четвертое поле - идентификатор главной группы пользователя, GID.

Пятое поле (иногда его называют GECOS) - описание пользователя. Обычно оно содержит полное имя пользователя (имя и фамилию) и координаты для связи с ним - номер офиса, адрес, телефон или пейджер.

Шестое поле - домашний каталог пользователя. При интерактивном входе в систему пользователь сразу попадает именно в этот каталог. Кроме того, некоторые сетевые службы (например, ftpd) требуют, чтобы у каждого пользователя, пытающегося получить доступ к сетевой службе, был "честный", т.е. на самом деле существующий и доступный для пользователя домашний каталог.

Седьмое поле - командный процессор, который будет запущен для пользователя при интерактивном входе в систему. Некоторые сетевые службы (например, ftpd) требуют, чтобы у каждого пользователя, пытающегося получить доступ к сетевой службе, был существующий в системе на самом деле командный процессор. Файл /etc/shells описывает доступные в системе командные процессоры, которые следует назначать пользователям. Сразу после установки системы файл /etc/shells не образуется. Системный администратор должен создать его вручную, если он требуется для каких-то программ в системе, например, для ftpd.

Относительно содержания поля GECOS следует сделать несколько замечаний.

Поле GECOS часто называют полем комментария, и это верно: в нем следует записывать контактную информацию о пользователе. Системному администратору ничего не скажет строка в файле протокола, свидетельствующая о проблеме, вызванной работой пользователя ikonst34. Кто это? Иван Константинович из планового отдела или Илья Константинов из технического? Или это Иконников Станислав из филиала 34? Чтобы не мучаться ассоциациями, навеянными именем пользователя, а точно знать, кто скрывается за лаконичным username, следует заполнять поле комментария.

Каждый элемент этого поля (например, полное имя, номер комнаты в офисе, контактный телефон) принято отделять от других запятой, но это необязательное требование. В настоящее время, к сожалению, не существует строго определенного правила заполнения поля комментария. Хорошим стилем является указание в этом поле следующей информации:

  • полные фамилия, имя и (если это необходимо для однозначной идентификации) отчество пользователя или, если это учетная запись предопределенного псевдопользователя типа bin, полное название приложения, использующего эту запись;
  • номер комнаты и ее местоположение, или контактное лицо, ответственное за запуск приложения, использующего запись;
  • рабочий телефон;
  • другая контактная информация (пейджер, факс, мобильный телефон и т.п.).


Не всегда требуется указывать всю эту информацию. На деле достаточно указать ровно столько сведений, сколько достаточно системному администратору для однозначной идентификации владельца учетной записи. Только имейте в виду - не одному-единственному конкретному системному администратору, а любому администратору, которому придется управлять созданной вами системой. Ведь нынешний системный администратор может уволиться или уехать в отпуск. Сможет ли его преемник или заместитель быстро разобраться в записях /etc/passwd? Делайте записи в поле комментария полезными сведениями, а не отписками.

Например, файл /etc/passwd может содержать такие записи:

root:*:0:0:Root - Michael Kruglov, room 601, 89119119111:/root:/bin/bash ftp:*:23:1:FTP Admin, Andrei Nezvanyi, 9733333:/home/ftp:/bin/bash apache:*:404:40:Web Master, Elena Osatanenko,1001010:/usr/local/httpd:/bin/sh

Каждая запись в файле /etc/passwd размещается на одной строке, здесь они перенесены из-за ограниченного размера страницы книги.

Последнее, что следует сказать о поле GECOS, это почему оно так называется.

В свое время компания General Electric владела компьютером, операционной системой которого была GECOS (General Electric Comprehensive Operating System). Компьютеры под управлением UNIX использовались для подготовки задач для этого компьютера. Изначально в поле комментария хранилась информация для запуска командных файлов и пакетных задач, которые были предназначены для системы GECOS:

cat /etc/shadow root::6445:::::: daemon:NP:6445:::::: bin:NP:6445:::::: sys:NP:6445:::::: adm:NP:6445:::::: lp:NP:6445:::::: uucp:NP:6445:::::: nuucp:NP:6445:::::: smmsp:NP:6445:::::: listen:*LK*::::::: nobody:NP:6445:::::: noaccess:NP:6445:::::: nobody4:NP:6445:::::: col:9NvfZSaIQgcQk:12435:::::: temp:*LK*::::::: qaz:v.srD227fHRx2:12448:::::: Termos:o3HzHXFopdwbU:::::::

Этот файл тоже описывает пользователей. В нем хранятся зашифрованные пароли пользователей. Формат файла таков:

Первое поле - имя пользователя.

Второе поле - зашифрованный пароль, *LK* означает, что учетная запись заблокирована (locked), а NP - что пароль отсутствует (no password).

Третье поле - число дней между 1 января 1970 года и датой последнего изменения пароля.

Четвертое поле - минимальное количество дней, которое должно пройти от одной смены пароля до другой.

Пятое поле - максимальное количество дней, в течение которого пароль считается действительным; по истечении этого срока система попросит ввести новый пароль, так как старый утратит силу.

Шестое поле - количество дней, за которое система предупредит пользователя о необходимости смены пароля.

Седьмое поле - количество дней, которое пользователь может не работать в системе и считаться активным; по истечении этого срока учетная запись автоматически блокируется.

Восьмое поле - дата, до которой учетная запись считается действительной; после этой даты пользователь не сможет войти в систему.

Девятое поле зарезервировано и сейчас не используется.

Данный формат /etc/shadow характерен как для Solaris, так и для других относящихся к System V систем UNIX, например, для Linux.

В /etc/shadow обязательно наличие только первых трех полей в каждой записи, остальные могут отсутствовать - все или часть из них. Рекомендуется вносить исправления в /etc/shadow не вручную, а с помощью программ admintool, usermod, useradd, passwd. Однако, в одном случае - когда забыт пароль root - придется исправлять /etc/shadow в текстовом редакторе.


Содержание раздела