Уважаемые подписчики (вас уже больше сотни)! Десятый выпуск рассылки посвящен
команде useradd(1M). Структура ближайших выпусков несколько упростится, потому что
мне придется целыми днями вести курсы по Solaris и Informix. Никакой лирики - максимум
конкрентой информации.
Вызов useradd обычно добавляет новую запись о пользователе в файлы данных
системы идентификации и проверки идентичности (Identification and
Authentication - I&A). Исключением являются пользователи сетевой
информационной службы (Network Information Service или, сокращенно, NIS).
Она также позволяет задать принадлежность к дополнительным группам для
пользователя (опция -G) и создать для него начальный каталог (опция -m).
Новое регистрационное имя блокируется до тех пор, пока не будет выполнена
команда passwd(1).
Сразу после установки стандартные значения для различных параметров
указаны в файле /etc/default/useradd. Стандартные значения для тех из
перечисленных ниже опций, которые предполагают использование стандартных
значений, можно изменить с помощью команды defadm.
Записи системного файла, создаваемые с помощью этой команды, имеют
ограничение длины - 512 символов в строке. Если для нескольких опций заданы
длинные аргументы, это ограничение может быть нарушено.
Поддерживаются следующие опции:
-u идентификатор
Идентификационный номер пользователя (UID).
Этот номер должен быть неотрицательным целым
числом, не превосходящим MAXUID,
определенный в sys/param.h. По умолчанию
используется следующий доступный (уникальный)
не устаревший UID, больший 99. Эта опция
игнорируется, если новое регистрационное имя
будет администрироваться сетевой информационной
службой (NIS). Подробнее об этом см. ниже в
разделе "Регистрационные имена сетевой
информационной службы".
-o
Эта опция позволяет сдублировать UID (сделать его
не уникальным). Поскольку защита системы в
целом, а также целостность контрольного журнала
(audit trail) и учетной информации
(accounting information) в частности, зависит от
однозначного соответствия каждого UID
определенному лицу, использовать эту опцию не
рекомендуется (чтобы обеспечить учет действий
пользователей).
-i
Позволяет использовать устаревший идентификатор
UID.
-g группа
Целочисленный идентификатор или символьное имя
существующей группы. Эта опция задает основную
группу (primary group) для нового пользователя. По
умолчанию используется стандартная группа,
указанная в файле /etc/default/useradd. Эта опция
игнорируется, если новое регистрационное имя
будет администрироваться сетевой информационной
службой (NIS). См. раздел "Регистрационные имена
сетевой информационной службы" ниже.
-G группа[[,группа] . . .]
Один или несколько элементов в списке через
запятую, каждый из которых представляет собой
целочисленный идентификатор или символьное имя
существующей группы. Этот список определяет
принадлежность к дополнительным группам
(supplementary group membership) для пользователя.
Повторения игнорируются. Количество элементов в
списке не должно превосходить NGROUPS_MAX-
1, поскольку общее количество дополнительных
групп для пользователя плюс основная группа не
должно превосходить NGROUPS_MAX. Эта опция
игнорируется, если новое регистрационное имя
будет администрироваться сетевой информационной
службой (NIS). См. раздел "Регистрационные имена
сетевой информационной службы" ниже.
-d каталог
Начальный каталог (home directory) нового
пользователя. Длина этого поля не должна
превосходить 256 символов. По умолчанию
используется HOMEDIR/рег_имя, где HOMEDIR -
базовый каталог для начальных каталогов новых
пользователей, а рег_имя - регистрационное имя
нового пользователя.
-s shell
Полный путь к программе, используемой в качестве
начального командного интерпретатора для
пользователя сразу после регистрации. Длина этого
поля не должна превосходить 256 символов. По
умолчанию это поле - пустое, что заставляет систему
использовать стандартный командный
интерпретатор /usr/bin/sh. В качестве значения shell
должен быть указан существующий выполняемый
файл.
-c комментарий
Любая текстовая строка. Обычно, это краткое
описание регистрационного имени и используется
сейчас для указания фамилии и имени реального
пользователя. Эта информация хранится в записи
пользователя в файле /etc/passwd. Длина этого поля
не должна превосходить 128 символов.
-m
Создает начальный каталог нового пользователя,
если он еще не существует. Если каталог уже
существует, добавляемый пользователь должен
иметь права на доступ к указанному каталогу.
-k skel_dir
Копирует содержимое каталога skel_dir в
начальный каталог нового пользователя, вместо
содержимого стандартного "скелетного" каталога,
/etc/skel. Каталог skel_dir должен существовать.
Стандартный "скелетный" каталог содержит
стандартные файлы, определяющие среду работы
пользователя. Заданный администратором каталог
skel_dir может содержать аналогичные файлы и
каталоги, созданные для определенной цели.
-f inactive
Максимально допустимое количество дней между
использованиями регистрационного имени, когда
это имя еще не объявляется недействительным.
Обычно в качестве значений используются
положительные целые числа.
-e expire
Дата, начиная с которой регистрационное имя
больше нельзя будет использовать; после этой даты
никакой пользователь не сможет получить доступ
под этим регистрационным именем. (Эта опция
удобна при создании временных регистрационных
имен.) Вводить значение аргумента expire
(представляющего собой дату) можно в любом
формате (кроме Julian date). Например, можно
ввести 10/6/99 или October 6, 1999.
-p passgen
Указывает, что поле FLAG в файле /etc/shadow
должно быть установлено в указанное значение. К
этому полю обращается команда passwd, чтобы
определить, действует ли для данного пользователя
генератор паролей. Если опция -p явно не задана,
проверяется запись FORCED_PASS в файле
/etc/default/useradd, чтобы определить значение для
соответствующего поля в /etc/shadow. Если записи
FORCED_PASS нет в /etc/default/useradd, в
соответствующем поле записи в /etc/shadow
значения не будет. Если значение FORCED_PASS
равно 1, запись в /etc/shadow получает значение 1.
Если значение passgen не пустое и не является
печатным символом ASCII, выдается
диагностическое сообщение.
-a событие
Список типов или классов событий через запятую,
образующих маску аудита (audit mask) для
пользователя. Сразу после установки системы
стандартной маски аудита для пользователя нет, но
ее можно задать в файле /etc/default/useradd с
помощью команды defadm. Эту опцию можно
использовать, только если установлены утилиты
аудита (Auditing Utilities). (Чтобы узнать, какие
пакеты установлены в системе, выполните команду
pkginfo.)
рег_имя
Строка печатных символов, задающая
регистрационное имя для нового пользователя. В
ней не должно быть двоеточий (:) и символов
перевода строки (\n). Она также не должна
начинаться с прописной буквы.
Учтите, что многие из стандартных значений для рассмотренных выше
параметров можно изменить с помощью команды defadm, предназначенной для
работы с файлом /etc/default/useradd. Эти стандартные значения применяются
только для локальных пользователей. Для пользователей NIS стандартные
значения задаются в базе данных сетевой информационной службы. Чтобы
изменить стандартные значения NIS, необходимо задать опции в командной
строке.
Если регистрационное имя начинается с символа +, (например, +chris),
определением пользователя будет управлять сетевая информационная служба
(NIS). Значения по умолчанию будут определяться на основе базы данных NIS, а
не файла /etc/defaults/useradd. Значения аргументов для опций -u, -g и -G будут
молча проигнорированы, если эти опции заданы. Вместо этого, значения
идентификатора пользователя и идентификатора группы будут взяты из базы
данных NIS. Подробнее см. страницу справочного руководства passwd(4).
Учтите, что при добавлении пользователя NIS регистрационное имя должно уже
существовать в базе данных NIS. Например, чтобы добавить регистрационное
имя chris как имя пользователя NIS, chris уже должен существовать в базе
данных NIS. Затем необходимо вызвать useradd с регистрационным именем
+chris, чтобы указать, что необходимо добавить пользователя chris как
пользователя NIS, а не как локального пользователя.
Команда useradd завершается с кодом возврата 0 в случае успеха. При
возникновении ошибок могут быть выданы следующие сообщения:
Неверный синтаксис командной строки. The command line syntax was invalid.
В опции задан недопустимый аргумент. An invalid argument was provided with an option.
Указанный в опции -u идентификатор уже используется, а опция -o не
указана. The uid specified with the -u option is already in use and the -o option was not
specified.
Указанная в опции -g группа не существует. The group specified with the -g option does not exist.
Указанное регистрационное имя не уникально. The specified login is not unique.
Не удалось изменить /etc/group. Регистрационное имя добавлено в файл
/etc/passwd, но не в файл /etc/group. Cannot update /etc/group. The login was added to the /etc/passwd file but not
to the /etc/group file.
Не удалось создать начальный каталог (в опции -m) или не удалось
выполнить копирование skel_dir в начальный каталог. Unable to create the home directory (with the -m option) or unable to complete
the copy of skel_dir to the home directory.