useradd - создать нового пользователя или обновить информацию по умолчанию для новых пользователей
СИНТАКСИС
useradd [опции] ИМЯ_ПОЛЬЗОВАТЕЛЯ
useradd -D
useradd -D [опции]
ОПИСАНИЕ
useradd — это низкоуровневая утилита для добавления пользователей. В Debian администраторам обычно следует использовать [adduser]({filename}../../adduser)(8) вместо нее.
При вызове без опции -D команда useradd создает новую учетную запись пользователя, используя значения, указанные в командной строке, и значения по умолчанию из системы. В зависимости от опций командной строки, команда useradd будет обновлять системные файлы и может также создавать домашний каталог нового пользователя и копировать начальные файлы.
По умолчанию также будет создана группа для нового пользователя (см. -g, -N, -U и USERGROUPS_ENAB).
ОПЦИИ
Опции, применяемые к команде useradd:
--badname
Разрешить имена, не соответствующие стандартам.
-b, --base-dir BASE_DIR
Каталог по умолчанию для системы, если не указана опция -d HOME_DIR. BASE_DIR конкатенируется с именем учетной записи, чтобы определить домашний каталог.
Если эта опция не указана, useradd будет использовать базовый каталог, указанный в переменной HOME в файле /etc/default/useradd, или /home по умолчанию.
-c, --comment КОММЕНТАРИЙ
Любая текстовая строка. Обычно это краткое описание учетной записи, и в настоящее время она используется в качестве поля для полного имени пользователя.
-d, --home-dir HOME_DIR
Новый пользователь будет создан с использованием HOME_DIR в качестве значения для каталога входа пользователя. По умолчанию имя входа пользователя добавляется к BASE_DIR и используется в качестве имени каталога входа. Каталог HOME_DIR не создается по умолчанию. Однако он будет создан для несистемных пользователей, если указан флаг -m или CREATE_HOME в файле login.defs установлен в значение true. Однако он никогда не будет создан, если указан флаг -M.
-D, --defaults
См. ниже, подраздел "Изменение значений по умолчанию".
-e, --expiredate ДАТА_ИСТЕЧЕНИЯ
Устанавливает дату, когда учетная запись пользователя будет отключена. Значение можно указать в формате даты YYYY-MM-DD или в виде количества дней с 1970-01-01. Дата интерпретируется с использованием часового пояса UTC.
Если не указано, useradd использует дату истечения срока действия по умолчанию, указанную в переменной EXPIRE в файле /etc/default/useradd, или пустую строку (без истечения срока действия) по умолчанию.
-f, --inactive ИНАКТИВНО
Определяет количество дней, в течение которых пароль превышает максимальный срок действия, прежде чем учетная запись пользователя будет заблокирована. Если пользователь не изменит свой пароль в течение этого периода времени, его учетная запись станет неактивной. Это значение хранится в файле shadow-паролей. Для получения дополнительной информации см. shadow(5).
Значение 0 отключает учетную запись после истечения срока действия пароля, без задержки.
Значение -1 очищает соответствующее поле в файле shadow паролей, что означает, что период неактивности не будет применяться.
Если не указано, команда useradd использует период неактивности по умолчанию, указанный в переменной INACTIVE в файле /etc/default/useradd, или -1 по умолчанию, если значение не указано.
-F, --add-subids-for-system
Обновляет /etc/subuid и /etc/subgid, даже при создании системной учетной записи с помощью опции -r.
-g, --gid GROUP
Имя или номер основной группы пользователя. Имя группы должно существовать. Номер группы должен соответствовать уже существующей группе.
Если не указано, поведение команды useradd будет зависеть от переменной USERGROUPS_ENAB в файле /etc/login.defs. Если эта переменная установлена в yes (или опция -U/--user-group указана в командной строке), будет создана группа для пользователя с тем же именем, что и имя для входа. Если переменная установлена в no (или опция -N/--no-user-group указана в командной строке), команда useradd установит основную группу нового пользователя в значение, указанное в переменной GROUP в файле /etc/default/useradd, или 100 по умолчанию.
-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]
Список дополнительных групп, в которые также входит пользователь. Каждая группа отделена от следующей запятой, без пробелов. Группы подлежат тем же ограничениям, что и группа, указанная в опции -g. По умолчанию пользователь входит только в основную группу. В дополнение к передаче флага -G можно добавить опцию GROUPS в файл /etc/default/useradd, которая, в свою очередь, добавит всех пользователей в эти дополнительные группы.
-h, --help
Отобразить сообщение справки и выйти.
-k, --skel SKEL_DIR
Каталог-шаблон, содержащий файлы и каталоги, которые будут скопированы в домашний каталог пользователя при создании домашнего каталога командой useradd.
Эта опция действительна только в том случае, если указана опция -m (или --create-home).
Если эта опция не указана, каталог-шаблон определяется переменной SKEL в файле /etc/default/useradd или, по умолчанию, /etc/skel.
Абсолютные символические ссылки, указывающие обратно на каталог-шаблон, будут иметь префикс /etc/skel, замененный на домашний каталог пользователя.
Если возможно, ACL и расширенные атрибуты будут скопированы.
-K, --key KEY=VALUE
Переопределяет значения по умолчанию из /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
-l, --no-log-init
Не добавлять пользователя в базы данных lastlog и faillog.
По умолчанию записи пользователя в базах данных lastlog и faillog сбрасываются, чтобы избежать повторного использования записи из ранее удаленного пользователя.
Если эта опция не указана, команда useradd также будет обращаться к переменной LOG_INIT в файле /etc/default/useradd; если она установлена в no, пользователь не будет добавлен в базы данных lastlog и faillog.
-m, --create-home
Создает домашний каталог пользователя, если он не существует. Файлы и каталоги, содержащиеся в каталоге-шаблоне (который можно определить с помощью опции -k), будут скопированы в домашний каталог.
По умолчанию, если эта опция не указана и CREATE_HOME не включена, домашние каталоги не создаются.
Каталог, в котором создается домашний каталог пользователя, должен существовать и иметь правильный контекст SELinux и разрешения. В противном случае домашний каталог пользователя не может быть создан или к нему нельзя получить доступ.
-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. Поскольку идентификатор пользователя служит ключом для сопоставления пользователей с разрешениями, правами владения файлами и другими аспектами, определяющими поведение системы, более одного имени для входа будут иметь доступ к учетной записи с заданным UID.
-p, --password PASSWORD
Определяет начальный пароль для учетной записи. Ожидается, что PASSWORD будет зашифрован, как возвращает crypt(3). Внутри скрипта оболочки эта опция позволяет эффективно создавать пакеты пользователей.
Без этой опции новая учетная запись будет заблокирована и не будет иметь определенного пароля, т. е. в соответствующем поле /etc/shadow будет стоять знак восклицания. Это состояние, при котором пользователь не сможет получить доступ к учетной записи или самостоятельно установить пароль.
Примечание: избегайте использования этой опции в командной строке, поскольку пароль (или зашифрованный пароль) будет виден пользователям, просматривающим процессы.
Вы должны убедиться, что пароль соответствует политике паролей системы.
-r, --system
Создать системную учетную запись.
Системные пользователи создаются без информации о сроке действия в /etc/shadow, и их числовые идентификаторы выбираются в диапазоне SYS_UID_MIN-SYS_UID_MAX, определенном в /etc/login.defs, вместо UID_MIN-UID_MAX (и соответствующие идентификаторы GID для создания групп).
Обратите внимание, что useradd не будет создавать домашний каталог для такого пользователя, независимо от настройки по умолчанию в /etc/login.defs (CREATE_HOME). Если вы хотите, чтобы домашний каталог был создан для системной учетной записи, необходимо указать опцию -m.
Обратите внимание, что эта опция не будет обновлять /etc/subuid и /etc/subgid. Если вы хотите обновить файлы для создаваемой системной учетной записи, необходимо указать опцию -F.
-R, --root CHROOT_DIR
Применять изменения в каталоге CHROOT_DIR и использовать файлы конфигурации из каталога CHROOT_DIR. Поддерживаются только абсолютные пути.
-P, --prefix PREFIX_DIR
Применяет изменения к файлам конфигурации в корневой файловой системе, расположенной в каталоге
PREFIX_DIR. Этот параметр не выполняет chroot и предназначен для подготовки целевой среды для
перекрестной компиляции. Некоторые ограничения: пользователи и группы NIS и LDAP не проверяются.
PAM-аутентификация использует файлы хоста. Отсутствует поддержка SELINUX.
-s, --shell SHELL
устанавливает путь к командной оболочке пользователя. Без этого параметра система будет использовать
переменную SHELL, указанную в /etc/default/useradd, или, если и она не установлена, поле для
командной оболочки в /etc/passwd останется пустым.
-u, --uid UID
числовое значение идентификатора пользователя. Это значение должно быть уникальным, если не используется
параметр -o. Значение должно быть неотрицательным. По умолчанию используется наименьшее значение,
большее или равное UID_MIN и большее, чем у любого другого пользователя.
См. также параметр -r и описание UID_MAX.
-U, --user-group
создает группу с тем же именем, что и у пользователя, и добавляет пользователя в эту группу.
По умолчанию (если параметры -g, -N и -U не указаны) поведение определяется переменной USERGROUPS_ENAB
в /etc/login.defs.
-Z, --selinux-user SEUSER
определяет пользователя SELinux для новой учетной записи. Без этого параметра SELinux использует
значение по умолчанию. Обратите внимание, что система shadow не хранит selinux-user, она использует
semanage(8) для этого.
--selinux-range SERANGE
определяет диапазон SELinux MLS для новой учетной записи. Без этого параметра SELinux использует
диапазон по умолчанию. Обратите внимание, что система shadow не хранит selinux-range, она использует
semanage(8) для этого.
Этот параметр действителен только в том случае, если указан параметр -Z (или --selinux-user).
Изменение значений по умолчанию
При вызове только с параметром -D, useradd отобразит текущие значения по умолчанию. При вызове с параметром -D и другими параметрами, useradd обновит значения по умолчанию для указанных параметров. Действительные параметры для изменения значений по умолчанию:
-b, --base-dir BASE_DIR
устанавливает префикс пути для домашнего каталога нового пользователя. Имя пользователя будет
добавлено в конец BASE_DIR для формирования имени домашнего каталога нового пользователя, если при
создании новой учетной записи не используется параметр -d.
Этот параметр устанавливает переменную HOME в /etc/default/useradd.
-e, --expiredate EXPIRE_DATE
устанавливает дату, когда созданные учетные записи пользователей будут отключены.
Этот параметр устанавливает переменную EXPIRE в /etc/default/useradd.
-f, --inactive INACTIVE
указывает количество дней после истечения срока действия пароля, в течение которых пользователь
может продолжать вход в систему. После этого периода учетная запись блокируется.
Этот параметр устанавливает переменную INACTIVE в /etc/default/useradd.
-g, --gid GROUP
устанавливает группу по умолчанию для новых пользователей, принимая имена групп или числовой
идентификатор группы. Указанная группа должна существовать, и GID должен иметь существующую запись.
Этот параметр устанавливает переменную GROUP в /etc/default/useradd.
-s, --shell SHELL
определяет командную оболочку по умолчанию для новых пользователей.
Этот параметр устанавливает переменную SHELL в /etc/default/useradd.
ЗАМЕТКИ
Системный администратор несет ответственность за размещение файлов пользователя по умолчанию в каталоге /etc/skel/ (или в любом другом каталоге-шаблоне, указанном в /etc/default/useradd или в командной строке).
ОГРАНИЧЕНИЯ
Вы не можете добавить пользователя в группу NIS или LDAP. Это необходимо выполнять на соответствующем сервере.
Аналогично, если имя пользователя уже существует во внешней базе данных пользователей, такой как NIS или LDAP, команда useradd отклонит запрос на создание учетной записи пользователя.
Имена пользователей могут содержать только строчные и прописные буквы, цифры, символы подчеркивания или дефисы. Они могут заканчиваться знаком доллара. Дефисы не допускаются в начале имени пользователя. Имена пользователей, состоящие только из цифр, а также имена пользователей . или .. также запрещены. Не рекомендуется использовать имена пользователей, начинающиеся с символа ., так как их домашние каталоги будут скрыты в выводе команды ls.
Длина имени пользователя может быть не более 256 символов.
КОНФИГУРАЦИЯ
Следующие переменные конфигурации в файле /etc/login.defs изменяют поведение этой утилиты:
CREATE_HOME (логическое значение)
Указывает, следует ли по умолчанию создавать домашний каталог для новых пользователей.
Это не относится к системным пользователям и может быть переопределено в командной строке.
GID_MAX (число), GID_MIN (число)
Диапазон идентификаторов групп, используемых для создания обычных групп командами useradd, groupadd или newusers.
Значение по умолчанию для GID_MIN (соответственно, GID_MAX) равно 1000 (соответственно, 60000).
HOME_MODE (число)
Режим для новых домашних каталогов. Если не указан, для создания режима используется UMASK.
Команды useradd и newusers используют это для установки режима домашнего каталога, который они создают.
LASTLOG_UID_MAX (число)
Максимальный идентификатор пользователя, для которого должны обновляться записи lastlog. Поскольку более высокие идентификаторы пользователей обычно отслеживаются удаленными службами идентификации и аутентификации пользователей, нет необходимости создавать для них огромный разреженный файл lastlog.
Отсутствие опции LASTLOG_UID_MAX в конфигурации означает, что нет ограничения на идентификатор пользователя для записи в файл lastlog.
MAIL_DIR (строка)
Каталог почтовых ящиков. Это необходимо для управления почтовым ящиком при изменении или удалении соответствующей учетной записи пользователя. Если не указан, используется значение по умолчанию, определенное во время компиляции. Параметр CREATE_MAIL_SPOOL в файле /etc/default/useradd определяет, следует ли создавать почтовый ящик.
MAIL_FILE (строка)
Определяет местоположение файлов почтовых ящиков пользователей относительно их домашнего каталога.
Переменные MAIL_DIR и MAIL_FILE используются командами useradd, usermod и userdel для создания, перемещения или удаления почтового ящика пользователя.
MAX_MEMBERS_PER_GROUP (число)
Максимальное количество участников в группе. Когда достигнут предел, в файле /etc/group начинается новая запись группы (с тем же именем, тем же паролем и тем же GID).
Значение по умолчанию равно 0, что означает отсутствие ограничений на количество участников в группе.
Эта функция (разделение групп) позволяет ограничить длину строк в файле группы. Это полезно для обеспечения того, чтобы строки для групп NIS не превышали 1024 символов.
Если необходимо применить такое ограничение, можно использовать значение 25.
Примечание: разделение на группы может не поддерживаться всеми инструментами (даже в наборе инструментов Shadow).
Не следует использовать эту переменную, если в этом нет крайней необходимости.
PASS_MAX_DAYS (число)
Максимальное количество дней, в течение которых пароль может использоваться. Если срок действия пароля истек, пользователю будет предложено изменить пароль. Если не указано, предполагается значение -1 (что отключает ограничение).
PASS_MIN_DAYS (число)
Минимальное количество дней между изменениями пароля. Любые попытки изменить пароль раньше этого срока будут отклонены. Если не указано, предполагается значение 0 (что отключает ограничение).
PASS_WARN_AGE (число)
Количество дней, в течение которых пользователю выдается предупреждение перед истечением срока действия пароля. Ноль означает, что предупреждение выдается только в день истечения срока действия, значение -1 означает, что предупреждение не выдается. Если не указано, предупреждение не будет выдаваться.
SUB_GID_MIN (число), SUB_GID_MAX (число), SUB_GID_COUNT (число)
Если файл /etc/subuid существует, команды useradd и newusers (если у пользователя еще не назначены подчинённые идентификаторы групп) выделяют SUB_GID_COUNT неиспользуемых идентификаторов групп из диапазона от SUB_GID_MIN до SUB_GID_MAX для каждого нового пользователя.
Значения по умолчанию для SUB_GID_MIN, SUB_GID_MAX, SUB_GID_COUNT: соответственно 100000, 600100000 и 65536.
SUB_UID_MIN (число), SUB_UID_MAX (число), SUB_UID_COUNT (число)
Если файл /etc/subuid существует, команды useradd и newusers (если у пользователя еще не назначены подчинённые идентификаторы пользователей) выделяют SUB_UID_COUNT неиспользуемых идентификаторов пользователей из диапазона от SUB_UID_MIN до SUB_UID_MAX для каждого нового пользователя.
Значения по умолчанию для SUB_UID_MIN, SUB_UID_MAX, SUB_UID_COUNT: соответственно 100000, 600100000 и 65536.
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 используют эту маску для установки прав доступа к создаваемому домашнему каталогу, если HOME_MODE не установлен.
Также используется pam_umask в качестве значения umask по умолчанию.
USERGROUPS_ENAB (логическое значение)
Если установлено значение yes, команда userdel удалит группу пользователя, если в ней не осталось других членов, и команда useradd по умолчанию создаст группу с именем пользователя.
ФАЙЛЫ
/etc/passwd
Информация об учетных записях пользователей.
/etc/shadow
Защищенная информация об учетных записях пользователей.
/etc/group
Информация об учетных записях групп.
/etc/gshadow
Защищенная информация об учетных записях групп.
/etc/default/useradd
Значения по умолчанию для создания учетной записи.
/etc/shadow-maint/useradd-pre.d/*, /etc/shadow-maint/useradd-post.d/*
Файлы скриптов, которые выполняются во время добавления пользователя. Переменная окружения ACTION будет содержать значение useradd, а SUBJECT — имя пользователя. useradd-pre.d будет выполнен до добавления пользователя, а useradd-post.d — после. Если скрипт завершается с ненулевым кодом, выполнение прекращается.
/etc/skel/
Директория, содержащая файлы по умолчанию.
/etc/subgid
Идентификаторы подчинённых групп для каждого пользователя.
/etc/subuid
Идентификаторы подчинённых пользователей для каждого пользователя.
/etc/login.defs
Конфигурация набора инструментов shadow для паролей.
ЗНАЧЕНИЯ КОДОВ ВЫХОДА
Команда useradd возвращает следующие значения:
0 успех
1 невозможно обновить файл паролей
2 неверный синтаксис команды
3 неверный аргумент для опции
4 указанный UID уже используется (и не указана опция -o)
6 указанная группа не существует
9 имя пользователя или группы уже используется
10 невозможно обновить файл групп
12 невозможно создать домашний каталог
14 невозможно обновить сопоставление пользователей SELinux
19 неверное имя пользователя или группы
СМОТРИТЕ ТАКЖЕ
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).