Useradd

Материал из VAAL-WIKI
Перейти к: навигация, поиск

useradd(от англ. user add) — регистрирует нового пользователя или изменяет информацию по умолчанию о новых пользователях.

Синтаксис

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

Описание

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

  1. Она редактирует файлы /etc/passwd, /etc/shadow, /etc/group и /etc/gshadow, внося в них нового пользователя.
  2. Создаётся и заполняется домашняя директория для нового пользователя.
  3. Устанавливаются права доступа и владелец домашней директории.

Параметры

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

-c, --comment КОММЕНТАРИЙ
Любая текстовая строка. Обычно, здесь коротко описывается учётная запись, и в настоящее время используется как поле для имени и фамилии пользователя.
-b, --base-dir БАЗОВЫЙ_КАТАЛОГ
Базовый каталог по умолчанию для системы, если -d HOME_DIR не указан. BASE_DIR объединяется с именем учётной записи, чтобы определить домашний каталог. Если опция -m не используется, BASE_DIR должен существовать.
-D, --defaults
См. Ниже раздел «Изменение значений по умолчанию».
-d, --home ДОМАШНИЙ_КАТАЛОГ
Для создаваемого пользователя будет использован каталог БАЗОВЫЙ_КАТАЛОГ в качестве начального каталога. По умолчанию, это значение получается объединением ИМЕНИ пользователя с БАЗОВЫМ_КАТАЛОГОМ и используется как имя домашнего каталога. Каталог БАЗОВЫЙ_КАТАЛОГ необязательно должен существовать и не будет создан, если его нет.
-e, --expiredate ДАТА_УСТАРЕВАНИЯ
Дата, когда учётная запись пользователя будет заблокирована. Дата задаётся в формате <ГГГГ>-<ММ>-<ДД>.
-f, --inactive ДНЕЙ
Число дней, которые должны пройти после устаревания пароля, чтобы учётная запись заблокировалась навсегда. Если указано значение 0, то учётная запись блокируется сразу после устаревания пароля, а при значении -1 данная возможность не используется. По умолчанию используется значение -1.
-g, --gid ГРУППА
Имя или числовой идентификатор новой начальной группы пользователя. Группа с таким именем должна существовать. Идентификатор группы должен указывать на уже существующую группу. Идентификатор группы по умолчанию равен 1 или значению указанному в файле /etc/default/useradd.
-G, --groups ГРУППА 1 [,ГРУППА 2,...[,ГРУППА N]]]
Список дополнительных групп, в которых числится пользователь. Перечисление групп осуществляется через запятую, без промежуточных пробелов. На указанные группы действуют те же ограничения, что и для группы указанной в параметре -g. По умолчанию пользователь входит только в начальную группу.
-h, --help
Показать краткую справку и закончить работу.
-m, --create-home
Если домашнего каталога пользователя не существует, то он будет создан. Файлы из каталога КАТАЛОГ_ШАБЛОН будут скопированы в домашний каталог, если он указан параметр -k, иначе будут использованы файлы из каталога /etc/skel. Все подкаталоги каталога КАТАЛОГ_ШАБЛОН или /etc/skel будут также созданы в домашнем каталоге пользователя. Параметр -k можно использовать только вместе с параметром -m. По умолчанию, домашний каталог не создаётся и файлы не копируются.
-K, --key КЛЮЧ=ЗНАЧЕНИЕ
Используется для изменения значений по умолчанию, хранимых в файле /etc/login.defs (UID_MIN, UID_MAX, UMASK, PASS_MAX_DAYS и других). Пример: -K PASS_MAX_DAYS=-1 можно использовать при создании системной учётной записи, чтобы выключить устаревание пароля, даже если системная учётная запись вообще не имеет пароля. Можно указывать параметр -K несколько раз, например: -K UID_MIN=100 -K UID_MAX=499. Замечание: запись вида -K UID_MIN=10,UID_MAX=499 пока не работает.
-l
Не добавляйте пользователя в базы данных lastlog и faillog. По умолчанию записи пользователя в базе данных lastlog и faillog сбрасываются, чтобы избежать повторного использования записи от ранее удаленного пользователя.
-N, --no-user-group
Не создавать группу с тем же именем, что и пользователь, но добавить пользователя в группу, указанную опцией -g или переменной GROUP в /etc/default/useradd. Поведение по умолчанию (если параметры -g, -N и -U не указаны) определяется переменной USERGROUPS_ENAB в login.defs.
-o, --non-unique
Позволяет создать учётную запись с уже имеющимся (не уникальным) UID.
-p, --password ПАРОЛЬ
Шифрованное значение пароля, которое возвращает функция crypt. По умолчанию учётная запись заблокирована.
-s, --shell ОБОЛОЧКА
Имя регистрационной оболочки пользователя. Если задать пустое значение, то будет использована регистрационная оболочка по умолчанию.
-u, --uidUID
Числовое значение идентификатора пользователя (ID). Оно должно быть уникальным, если не используется параметр -o. Значение должно быть неотрицательным. По умолчанию используется наименьшее значение ID большее 999 и большее любого другого значения пользователя. Значения от 0 до 999 обычно зарезервированы для системных учётных записей.
-U, --user-group
Создайте группу с тем же именем, что и пользователь, и добавьте пользователя в эту группу. Поведение по умолчанию (если параметры -g, -N и -U не указаны) определяется переменной USERGROUPS_ENAB в login.defs.

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

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

-b, --base-dir БАЗОВЫЙ_КАТАЛОГ
Префикс пути для домашнего каталога нового пользователя. Имя пользователя будет прикреплено к концу BASE_DIR, чтобы сформировать имя домашнего каталога нового пользователя, если параметр -d не используется при создании новой учётной записи.
-e, --expiredate ДАТА_УСТАРЕВАНИЯ
Дата, когда учётная запись пользователя заблокирована.
-f, --inactive ДНЕЙ
Число дней, которые должны пройти после устаревания пароля, перед тем как учётная запись будет заблокирована.
-g, --gid ГРУППА
Имя или числовой идентификатор новой начальной группы пользователя. Группа с таким именем должна существовать и для числового идентификатора должна быть запись.
-s, --shell ОБОЛОЧКА
Имя оболочки входа нового пользователя.

Замечания

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

Предостережения

Вы не можете добавить пользователя в группу NIS или LDAP. Это должно быть выполнено на соответствующем сервере. Аналогично, если имя пользователя уже существует во внешней пользовательской базе данных, такой как NIS или LDAP, useradd будет отклонять запрос на создание учётной записи пользователя. Имена пользователей должны начинаться со строчной буквы или символа подчёркивания, и должны состоять только из строчных букв, подписи, тире и знака доллара. Это можно описать регулярным выражением: [a-z _] [a-z0-9 _-] * [$]

Конфигурация

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

GID_MAX (number), GID_MIN (number)
Диапазон идентификаторов групп, используемых для создания регулярных групп с помощью useradd, usermod или newusers.
MAIL_DIR (string)
Почтовый каталог. Данный параметр нужен для управления почтовым ящиком при изменении или удалении учётной записи пользователя. Если параметр не задан, то используется значение указанное при сборке.
MAIL_FILE (string)
Определяет расположение файлов пользователей, в которых хранится почта, относительно их домашнего каталога. Переменные MAIL_DIR и MAIL_FILE используются useradd, usermod и userdel для создания, перемещения или удаления файлов пользователя, в которых хранится почта. Если для MAIL_CHECK_ENAB установлено значение yes, они также используются для определения переменной среды MAIL.
MAX_MEMBERS_PER_GROUP (number)
Максимальное количество участников в группе. Когда достигнут максимум, в /etc/group запускается новая запись(строка) группы (с тем же именем, с тем же паролем и с тем же GID). Значение по умолчанию равно 0, а это означает, что число членов в группе не ограничено. Эта функция (разделённая группа) позволяет ограничить длину строк в файле группы. Это полезно, чтобы убедиться, что строки для групп NIS не более 1024 символов. Если вам необходимо обеспечить соблюдение такого ограничения, вы можете использовать 25. Примечание. Разделённые группы могут не поддерживаться всеми инструментами (даже в инструменте shadow. Вы не должны использовать эту переменную, если она вам не нужна).
PASS_MAX_DAYS (number)
Максимальное число дней использования пароля. Если пароль старее этого числа, то будет запущена процедура смены пароля. Если значение не задано, то предполагается значение -1 (то есть возможность ограничения не используется).
PASS_MIN_DAYS (number)
Максимальное число дней между изменениями пароля. Любая смена пароля ранее заданного срока выполнена не будет. Если значение не задано, то предполагается значение -1 (то есть возможность ограничения не используется).
PASS_WARN_AGE (number)
Число дней за которое начнёт выдаваться предупреждение об устаревании пароля. Нулевое значение означает, что предупреждение выдаётся в день устаревания, при отрицательном значении предупреждение выдаваться не будет. Если значение не задано, выдача предупреждения отключается.
SYS_GID_MAX (number), SYS_GID_MIN (number)
Диапазон идентификаторов групп, используемых для создания системных групп с помощью useradd, groupadd или newusers.
SYS_UID_MAX (number), SYS_UID_MIN (number)
Диапазон идентификаторов пользователей, используемых для создания пользователей системы с помощью useradd или newusers.
UID_MAX (number), UID_MIN (number)
Диапазон идентификаторов пользователей, используемых для создания обычных пользователей с помощью useradd или newusers.
UMASK (number)
Задаёт начальное значение маски доступа. Если не указано, то маска доступа устанавливается в 022.

Файлы

/etc/passwd
содержит информацию о пользователях
/etc/shadow
содержит защищаемую информацию о пользователях
/etc/group
содержит информацию о группах
/etc/default/useradd
содержит защищаемую информацию о пользователях
/etc/skel/
каталог, содержащий пользовательские файлы по умолчанию
/etc/login.defs
содержит конфигурацию подсистемы теневых паролей

Возвращаемые значения

0
успешное выполнение
1
не удалось изменить файл паролей
2
ошибка в параметрах команды
3
недопустимое значение параметра
4
такой UID уже существует (и не задан параметр -o)
6
указанная группа не существует
9
имя пользователя уже существует
10
не удалось изменить файл групп
12
не удалось создать домашний каталог
13
не удалось создать почтовый ящик