Руководство по администрированию UNIX System V

Файлы паролей


В системе UNIX есть два файла паролей - /etc/passwd и /etc/shadow.

Файл /etc/passwd идентифицирует каждого пользователя системе. Этот файл содержит информацию для каждого ID регистрации пользователя, номера ID пользователя, номер группового ID, номер ID дополнительной группы, комментария о пользователе, программы по умолчанию, выполняемой после регистрации пользователя (обычно /sbin/sh), и начального каталога пользователя.

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

PASSLENGTH - эта переменная представляет минимальную длину пароля. Любой пароль меньшей длины будет запрещен. Длина по умолчанию - 6 символов; MINWEEKS - эта переменная представляет количество недель после смены пароля, в течение которых пароль можно не менять; MAXWEEKS - эта переменная представляет количество недель, по истечении которых вам поступит запрос изменить пароль во время вашей следующей регистрации; WARNWEEKS - эта переменная представляет количество недель существования пароля, до того как пользователю поступит предупреждение о его предстоящем исчезновении.

Переменные MINWEEKS и MAXWEEKS может проигнорировать пользователь root, если явно установит возраст пароля для конкретного пользователя.

Файл /etc/shadow содержит зашифрованный пароль каждого пользователя и информацию о возрасте пароля. Этот файл может считываться только суперпользователем. Пароль и информация о его возрасте добавляется в /etc/shadow с помощью новой программы pwconv(1M). Эта программа может выполняться только суперпользователем.

Если у вас есть программа, которая пишет пароль и/или информацию о возрасте пароля в /etc/passwd, эту программу следует модифицировать, чтобы pwconv(1M) могла быть выполнена после добавления информации в /etc/passwd. До возможности выполнения модификации администратор с привилегией суперпользователя должен прогнать программу, прежде чем добавленный пользователь или тот, чья информация о пароле модифицирована, сможет зарегистрироваться.

Чтобы установить переменную в файл /etc/default, за именем переменной должен следовать знак "=", значение переменной не должно содержать пробелов или табуляции. В /etc/default/login следует установить следующие переменные:


CONSOLE - если переменная установлена, суперпользователь может регистрироваться только на терминале, определенном как "управляющий" (console). Например,

CONSOLE=/dev/console

означает, что суперпользователь root может зарегистрироваться только на консольном терминале. Если переменная CONSOLE отсутствует в файле, суперпользователь может регистрироваться на любом терминале; ALTSHELL - если переменная установлена на YES, переменная среды SHELL будет установлена в командный файл пользователя, если это не файл /bin/sh. При установке на NO имена нестандартных командных файлов не будут помещаться в переменную среды SHELL. Значение по умолчанию - NO; PASSREQ - если значение переменной - YES, все пользователи должны иметь пароль. Любого пользователя без пароля спросят о пароле при первой же возможности, предоставленной установкой возраста пароля для этого пользователя; TIMEZONE - устанавливает переменную TZ в среду пользователя; она должна согласовываться с зоной времени, установленной в /etc/TIMEZONE HZ - устанавливает HZ среды пользователя, скорость системных часов для регистрирующегося ппользователя; PATH - устанавливает полное имя пути по умолчанию для пользователя, не являющегося суперпользователем; SUPATH - устанавливает полное имя пути по умолчанию для регистрирующегося суперпользователя. Другое имя по умолчанию для суперпользователя находится в /etc/default/su, которое устанавливается для суперпользователей, регистрирующихся иначе; ULIMIT - устанавливает максимальный размер файла пользователя. Он выражается числом 512-байтовых блоков; TIMEOUT - эта переменная представляет собой продолжительность времени, которое "login" будет ждать пароль после получения имени пользователя. Измеряется в секундах; UMASK - представляет собой umask по умолчанию; IDLEWEEKS - представляет собой количество недель, когда учет пользователя может не производиться, до того как его регистрация будет запрещена.

Все модификации в файлах passwd должны выполняться через интерфейс пользователя и команды уровня командного файла passwd и usermod. Эти файлы никогда не должны редактироваться.


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