useradd(8)

НАЗВАНИЕ
useradd - регистрирует нового пользователя или изменяет информацию по умолчанию о новых пользователях

СИНТАКСИС

useradd [параметры] УЧЁТНАЯ_ЗАПИСЬ

useradd -D

useradd -D [параметры]

ОПИСАНИЕ

При запуске без параметра -D команда useradd создаёт новую учётную запись пользователя, используя значения из командной строки и системные значения по умолчанию. В зависимости от параметров командной строки, команда useradd обновляет системные файлы, а также может создать домашний каталог нового пользователя и скопировать начальные файлы настроек.

По умолчанию, для нового пользователя также создаётся группа (смотрите параметры -g, -N, -U и USERGROUPS_ENAB).

ПАРАМЕТРЫ

Параметры команды useradd:

-b, --base-dir БАЗОВЫЙ_КАТАЛОГ
    Базовый системный каталог по умолчанию, если другой каталог не указан с помощью параметра -d. Значение БАЗОВЫЙ_КАТАЛОГ объединяется с именем учётной записи для определения домашнего каталога. Если не указан параметр -m, то БАЗОВЫЙ_КАТАЛОГ должен существовать.

    Если этот параметр не задан, то команда useradd будет использовать базовый каталог, указанный в переменной HOME в файле /etc/default/useradd иначе /home (по умолчанию).

-c, --comment КОММЕНТАРИЙ
    Любая текстовая строка. Обычно, здесь коротко описывается учётная запись, и в настоящее время используется как поле для имени и фамилии пользователя.

-d, --home-dir ДОМАШНИЙ_КАТАЛОГ
    Для создаваемого пользователя будет использован каталог ДОМАШНИЙ_КАТАЛОГ в качестве начального каталога. По умолчанию, это значение получается объединением ИМЕНИ пользователя с БАЗОВЫМ_КАТАЛОГОМ и используется как имя домашнего каталога. Каталог ДОМАШНИЙ_КАТАЛОГ необязательно должен существовать, но не будет создан, если его нет.

-D, --defaults
    Смотрите далее в подразделе «Изменение значений по умолчанию».

-e, --expiredate ДАТА_УСТАРЕВАНИЯ
    Дата, когда учётная запись пользователя будет заблокирована. Дата задаётся в формате ГГГГ-ММ-ДД.

    Если этот параметр не задан, то команда useradd будет использовать дату устаревания по умолчанию, указанную в переменной EXPIRE в файле /etc/default/useradd, иначе пустую строку (без устаревания, по умолчанию).

-f, --inactive ДНЕЙ
    Если указано значение 0, то учётная запись блокируется сразу после устаревания пароля, а при значении -1 данная возможность не используется.

    Если этот параметр не задан, то команда useradd будет использовать срок неактивности по умолчанию, указанный в переменной INACTIVE в файле /etc/default/useradd или -1 (по умолчанию).

-g, --gid ГРУППА
    Имя или числовой идентификатор первичной группы пользователя. Группа с таким именем должна существовать. Идентификатор группы должен указывать на уже существующую группу.

    Если не указан, то поведение useradd зависит от переменной USERGROUPS_ENAB в файле /etc/login.defs. Если значение этой переменной равно yes (или в командной строке указан параметр -U/--user-group), то для пользователя будет создана группа с тем же именем как его имя для входа. Если значение переменной равно no (или в командной строке указан параметр -N/--no-user-group), то useradd установит первичную группу нового пользователя равной значению переменной GROUP из файла /etc/default/useradd, или 100 (по умолчанию).

-G, --groups ГРУППА1[,ГРУППА2,...[,ГРУППАN]]]
    Список дополнительных групп, в которых числится пользователь. Перечисление групп осуществляется через запятую, без промежуточных пробелов. На указанные группы действуют те же ограничения, что и для группы указанной в параметре -g. По умолчанию пользователь входит только в начальную группу.

-h, --help
    Показать краткую справку и закончить работу.

-k, --skel КАТАЛОГ_ШАБЛОНОВ
    Каталог с шаблонами, который содержит файлы и каталоги для копирования в домашний каталог пользователя при создании домашнего каталога командой useradd.

    Этот параметр можно использовать только с параметром -m (или --create-home).

    Если этот параметр не задан, то каталог шаблонов определяется переменной SKEL из файла /etc/default/useradd, или равен /etc/skel (по умолчанию).

    Если возможно, выполняется копирование ACL и расширенных атрибутов.

-K, --key КЛЮЧ=ЗНАЧЕНИЕ
    Overrides /etc/login.defs defaults (UID_MIN, UID_MAX, UMASK, PASS_MAX_DAYS and others).

    Example: -K PASS_MAX_DAYS=-1 can be used when creating system account to turn off password aging, even though system account has no password at all. Multiple -K options can be specified, e.g.: -K UID_MIN=100 -K UID_MAX=499

-l, --no-log-init
    Не добавлять пользователя в базы данных lastlog и faillog.

    By default, the user's entries in the lastlog and faillog databases are reset to avoid reusing the entry from a previously deleted user.

-m, --create-home
    Создать домашний каталог пользователя, если он не существует. Файлы и каталоги, содержащиеся в каталоге шаблонов (который можно указать с помощью параметра the -k option), будут скопированы в домашний каталог.

    По умолчанию, если этот параметр не указан и не задана переменная CREATE_HOME, домашний каталог не создаётся.

-M, --no-create-home
    Не создавать домашний каталог пользователя, даже если значение системной переменной в файле /etc/login.defs (CREATE_HOME) равно yes.

-N, --no-user-group
    Не создавать группу с тем же именем как у пользователя, но добавить пользователя в группу, заданную параметром -g или переменной GROUP из файла /etc/default/useradd.

    Поведение по умолчанию (если не указан параметр -g, -N и -U) определяется переменной USERGROUPS_ENAB из файла /etc/login.defs.

-o, --non-unique
    Разрешить создание учётной записи с уже имеющимся (не уникальным) UID.

    Этот параметр можно использовать только с параметром -u.

-p, --password ПАРОЛЬ
    Шифрованное значение пароля, которое возвращает функция crypt(3). По умолчанию пароль отключён.

    Замечание: Этот параметр использовать не рекомендуется, так как пароль (или не шифрованный пароль) будет видим другими пользователям в списке процессов.

    Вы должны проверить, что пароль соответствует политике системных паролей.

-r, --system
    Создать системную учётную запись.

    Системные пользователи создаются без информации об устаревании в /etc/shadow, и их числовые идентификаторы выбираются из диапазона SYS_UID_MIN-SYS_UID_MAX, определённого в /etc/login.defs, а не из UID_MIN-UID_MAX (это же касается и части с GID при создании групп).

    Note that useradd will not create a home directory for such a user, regardless of the default setting in /etc/login.defs (CREATE_HOME). You have to specify the -m options if you want a home directory for a system account to be created.

-R, --root КАТ_CHROOT
    Выполнить изменения в каталоге КАТ_CHROOT и использовать файлы настройки из каталога КАТ_CHROOT.

-P, --prefix PREFIX_DIR
    Apply changes in the PREFIX_DIR directory and use the configuration files from the PREFIX_DIR directory. This option does not chroot and is intended for preparing a cross-compilation target. Some limitations: NIS and LDAP users/groups are not verified. PAM authentication is using the host files. No SELINUX support.

-s, --shell ОБОЛОЧКА
    Имя регистрационной оболочки пользователя. По умолчанию это поле пусто, что вызывает выбор регистрационной оболочки по умолчанию согласно значению переменной SHELL из файла /etc/default/useradd, или по умолчанию используется пустая строка.

-u, --uid UID
    Числовое значение идентификатора пользователя (ID). Оно должно быть уникальным, если не используется параметр -o. Значение должно быть неотрицательным. По умолчанию используется наименьшее значение ID большее или равное UID_MIN и большее чем у остальных пользователей.

    Смотрите также описание -r и UID_MAX.

-U, --user-group
    Создать группу с тем же именем что и у пользователя, и добавить пользователя в эту группу.

    Поведение по умолчанию (если не указан параметр -g, -N и -U) определяется переменной USERGROUPS_ENAB из файла /etc/login.defs.

-Z, --selinux-user SEUSER
    Пользователь SELinux для регистрационной оболочки пользователя. По умолчанию это поле пусто, что заставляет систему выбрать пользователя SELinux по умолчанию.

  Изменение значений по умолчанию

При запуске программы только с параметром -D команда useradd показывает текущие значения по умолчанию. Если программа запускается с параметром -D вместе с другими параметрами, то useradd обновляет значения по умолчанию этих указанных параметров. Изменяемые параметры:

-b, --base-dir БАЗОВЫЙ_КАТАЛОГ
    Начальная часть пути нового домашнего каталога пользователя. Имя пользователя будет добавлено в конец ДОМАШНЕГО_КАТАЛОГА для создания имени нового каталога, если при создании новой учётной записи не указан параметр -d.

    Этот параметр изменяет переменную HOME в файле /etc/default/useradd.

-e, --expiredate ДАТА_УСТАРЕВАНИЯ
    Дата, когда учётная запись пользователя заблокирована.

    Этот параметр изменяет переменную EXPIRE в файле /etc/default/useradd.

-f, --inactive ДНЕЙ
    Число дней, которые должны пройти после устаревания пароля, перед тем как учётная запись будет заблокирована.

    Этот параметр изменяет переменную INACTIVE в файле /etc/default/useradd.

-g, --gid ГРУППА
    Имя группы или ID новой первичной группы пользователя (если используется -N/--no-user-group или когда значение переменной USERGROUPS_ENAB равно no (файл /etc/login.defs). Группа с указанным именем должна существовать, а для числового идентификатора группы должна быть соответствующая запись.

    Этот параметр изменяет переменную GROUP в файле /etc/default/useradd.

-s, --shell ОБОЛОЧКА
    Имя новой регистрационной командной оболочки пользователя.

    Этот параметр изменяет переменную SHELL в файле /etc/default/useradd.

ЗАМЕЧАНИЯ

Системный администратор сам решает, какие файлы нужно положить в каталог /etc/skel/ (или в любой другой каталог шаблонов, указанный в /etc/default/useradd или в командной строке).

ПРЕДОСТЕРЕЖЕНИЯ

Нельзя добавить пользователя в группу NIS или LDAP. Это необходимо делать на соответствующем сервере.

Также, если имя пользователя уже существует во внешней базе данных такой как NIS или LDAP, то useradd не станет создавать учётную запись пользователя.

Имена пользователей должны начинаться со строчной буквы или символа подчёркивания, и должны состоять только из строчных букв, цифр, символов подчёркивания и минус. Они могут заканчиваться знаком доллара. Это можно описать регулярным выражением: [a-z_][a-z0-9_-]*[$]?

Имена пользователей могут быть длиной не более 32 знаков.

НАСТРОЙКА

На работу этого инструмента влияют следующие переменные настройки из /etc/login.defs:

CREATE_HOME (логический)
    Определяет, должен ли создаваться по умолчанию домашний каталог для новых пользователей.

    Эта переменная не влияет на системных пользователей и может быть переопределена из командной строки.

GID_MAX (число), GID_MIN (число)
    Диапазон идентификаторов групп, используемый в программах useradd, groupadd или newusers для создания обычных групп.

    Значение по умолчанию для GID_MIN (соотв. GID_MAX) равно 1000 (соотв. 60000).

MAIL_DIR (строка)
    Почтовый каталог. Данный параметр нужен для управления почтовым ящиком при изменении или удалении учётной записи пользователя. Если параметр не задан, то используется значение указанное при сборке.

MAIL_FILE (строка)
    Определяет расположение почтовых файлов пользователя относительно домашнего каталога.

Переменные MAIL_DIR и MAIL_FILE используются командами useradd, usermod и userdel для создания, перемещения или удаления почты пользователя.

Если значение MAIL_CHECK_ENAB равно yes, то они также используются для определения переменной окружения MAIL.

MAX_MEMBERS_PER_GROUP (число)
    Максимальное количество членов в записи о группе. При достижения максимума заводится новая запись группы (строка) в /etc/group (с тем же именем, паролем и тем же GID).

    Значение по умолчанию равно 0, означающее, что ограничения на количество членов в группе нет.

    Данная возможность (разделение группы) позволяет ограничить длину строк в файле групп. Это полезно для ограничения длины строк групп NIS в 1024 символа.

    Если вам нужно такое ограничение, укажите значение 25.

    Замечание: разделение групп поддерживается не всеми инструментами (даже в наборе инструментов Shadow). Вы не должны использовать эту переменную, если вам действительно это ненужно.

PASS_MAX_DAYS (число)
    Максимальное число дней использования пароля. Если пароль старее этого числа, то будет запущена процедура смены пароля. Если значение не задано, то предполагается значение -1 (то есть возможность ограничения не используется).

PASS_MIN_DAYS (число)
    Максимальное число дней между изменениями пароля. Любая смена пароля ранее заданного срока выполнена не будет. Если значение не задано, то предполагается значение -1 (то есть возможность ограничения не используется).

PASS_WARN_AGE (число)
    Число дней за которое начнёт выдаваться предупреждение об устаревании пароля. Нулевое значение означает, что предупреждение выдаётся в день устаревания, при отрицательном значении предупреждение выдаваться не будет. Если значение не задано, выдача предупреждения отключается.

SUB_GID_MIN (number), SUB_GID_MAX (number), SUB_GID_COUNT (number)
    If /etc/subuid exists, the commands useradd and newusers (unless the user already have subordinate group IDs) allocate SUB_GID_COUNT unused group IDs from the range SUB_GID_MIN to SUB_GID_MAX for each new user.

    The default values for SUB_GID_MIN, SUB_GID_MAX, SUB_GID_COUNT are respectively 100000, 600100000 and 10000.

SUB_UID_MIN (number), SUB_UID_MAX (number), SUB_UID_COUNT (number)
    If /etc/subuid exists, the commands useradd and newusers (unless the user already have subordinate user IDs) allocate SUB_UID_COUNT unused user IDs from the range SUB_UID_MIN to SUB_UID_MAX for each new user.

    The default values for SUB_UID_MIN, SUB_UID_MAX, SUB_UID_COUNT are respectively 100000, 600100000 and 10000.

SYS_GID_MAX (число), SYS_GID_MIN (число)
    Диапазон идентификаторов групп, используемый в программах useradd, groupadd или newusers для создания системных групп.

    Значение по умолчанию для SYS_GID_MIN (соотв.SYS_GID_MAX) равно 101 (соотв. GID_MIN-1).

SYS_UID_MAX (число), SYS_UID_MIN (число)
    Диапазон идентификаторов пользователей, используемый в программах useradd или newusers для создания системных пользователей.

    Значение по умолчанию для SYS_UID_MIN (соотв. SYS_UID_MAX) равно 101 (соотв. UID_MIN-1).

UID_MAX (число), UID_MIN (число)
    Диапазон идентификаторов пользователей, используемый в программах useradd или newusers для создания обычных пользователей.

    Значение по умолчанию для UID_MIN (соотв. UID_MAX) равно 1000 (соотв. 60000).

UMASK (число)
    Задаёт начальное значение маски доступа для создаваемых файлов. Если не указано, то маска устанавливается в 022.

    Команды useradd и newusers используют эту маску для установки прав доступа к домашнему каталогу, который они создают.

    Также она используется программой login для задания начального значения umask пользователя. Заметим, что эта маска может быть переопределена из пользовательской строки GECOS (если установлена переменная QUOTAS_ENAB) или указанием ограничения с идентификатором K, в limits(5).

USERGROUPS_ENAB (логический)
    Включает установку группы битов umask равной битам владельца (пример: 022 -> 002, 077 -> 007) для не суперпользователей, если uid равен gid и имя пользователя совпадает с именем первичной группы.

    Если значение равно yes, то userdel удаляет пользовательскую группу, если в ней нет больше членов, а useradd по умолчанию создаёт группу с именем пользователя.

ФАЙЛЫ

/etc/passwd
    содержит информацию о пользователях

/etc/shadow
    содержит защищаемую информацию о пользователях

/etc/group
    содержит информацию о группах

/etc/gshadow
    содержит защищаемую информацию о группах

/etc/default/useradd
    значения по умолчанию для создаваемой учётной записи

/etc/skel/
    каталог, содержащий файлы по умолчанию

/etc/subgid
    Per user subordinate group IDs.

/etc/subuid
    Per user subordinate user IDs.

/etc/login.defs
    содержит конфигурацию подсистемы теневых паролей

ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ

Команда useradd завершая работу, возвращает следующие значения:

0
    успешное выполнение

1
    не удалось изменить файл паролей

2
    ошибка в параметрах команды

3
    недопустимое значение параметра

4
    такой UID уже существует (и не задан параметр -o)

6
    указанная группа не существует

9
    имя пользователя уже существует

10
    не удалось изменить файл групп

12
    не удалось создать домашний каталог

14
    can't update SELinux user mapping

СМОТРИТЕ ТАКЖЕ

chfn(1), chsh(1), passwd(1), crypt(3), groupadd(8), groupdel(8), groupmod(8), login.defs(5), newusers(8), subgid(5), subuid(5), userdel(8), usermod(8).