Россия, Москва, Московский Авиационный Институт, 2009 |
Добавление и изменение информации пользователя
8.1.2.3. Добавление имени регистрации с помощью команды
- Чтобы добавить новое регистрационное имя, введите следующие команды:
useradd -u user_number -g primary_group_ID -G supplementary_group_ID -c comment -d home_directory -s program -m login_ID
Примечание. Команда вводится одной строкой. Все аргументы - необязательные, за исключением login_ID.
После ключа -G вы можете указать несколько идентификаторов дополнительных членов группы, отделив их друг от друга запятыми без пробелов:
supplementary_group_ID1,supplementary_group_ID2 или заключив идентификаторы в двойные кавычки с пробелами, например:
"supplementary_group_ID1 supplementary_group_ID2"
Если в тексте комментария, который следует за ключом -c, слова разделены пробелами, текст должен быть заключен в двойные кавычки. Кавычки не нужны, когда между словами пробелы не используются, например:
-c Art_and_Graphics
Ключ -d используется для указания домашнего каталога пользователя. Указывается полное имя каталога, например: as/home3/login_ID.
Параметр -s используется, чтобы указать программу не по умолчанию. Для этого указывается полное имя программы, например: as/sbin/sh.
Параметр -m не имеет аргумента; login_ID - это аргумент команды useradd. Этот параметр задает копирование соджержимого каталога /etc/skel в каталог нового пользователя. Каталог /etc/skel должен содержать стандартные файлы, такие как стандартный профиль пользователя ( .profile ) и стандартные каталоги (такой как rje ), используемые в вашей системе.
- Чтобы присвоить пароль, введите:
passwd options login_ID
где options - это один из следующих параметров: -n days - указывает минимальное количество дней (при необходимости), в течение которых новому пользователю будет разрешено изменять свой пароль; -x days - указывает максимальное количество дней (при необходимости), в течение которых новому пользователю будет разрешено сохранять свой существующий пароль; -f - заставляет нового пользователя изменить пароль в следующем сеансе регистрации.
8.2. Присваивание паролей пользователями
Нужен ли пароль пользователю решает администратор. Рекомендуется все же, чтобы пароли использовались, т.к. они помогают предотвратить несанкционированное использование системы.
8.2.1. Файлы паролей
В системе 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. Эти файлы никогда не должны редактироваться.
8.2.2. Возраст пароля пользователя
Указание возраста пароля пользователя позволяет администратору системы устанавливать требования ко времени использования пароля пользователя. После указания периода времени, когда пароль исчезнет, пользователя попросят ввести новый. Это заставляет пользователей периодически изменять свой пароль. Предусмотрены меры, предупреждающие смену пароля до указанного времени.
Возраст пароля присваивается системным администратором с помощью команды passwd. Информация о возрасте пароля состоит из следующего:
- продолжительность существования пароля - насколько часто следует менять пароль; max - продолжительность действительности пароля в днях; min - минимальное количество дней, до того как вводится новый пароль;
- минимальное время между сменой пароля;
- день, когда пароль был изменен последний раз. Эту информацию организует администратор системы автоматически для каждого пользователя.
При огранизации информации о возрасте пароля, следует иметь в виду три переменные:
- MINWEEKS = number - где number определяет время, когда вы сможете изменить пароль после его последней смены. MINWEEKS определяется в /etc/default/passwd. Администратор системы может изменять эту переменную для учета каждого пользователя с помощью команды passwd ;
- MAXWEEKS = number - где number определяет максимальное количество времени действия пароля. MAXWEEKS определяется в /etc/default/passwd. Администратор системы может изменять эту переменную для учета каждого пользователя с помощью команды passwd ;
- IDLEWEEKS = number - где number определяет продолжительность времени, когда учет паролей пользователя не будет производиться. IDLEWEEKS определяется в /etc/default/login.