'\" t .\" Title: newusers .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 07/30/2026 .\" Manual: System Management Commands .\" Source: shadow-utils 4.20.0 .\" Language: Russian .\" .TH "newusers" "8" "07/30/2026" "shadow\-utils 4\&.20\&.0" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "ИМЯ" newusers \- обновляет и создаёт новые учётные записи пользователей в пакетном режиме .SH "СИНОПСИС" .HP \w'\fBnewusers\fR\ 'u \fBnewusers\fR [\fIoptions\fR] [\fIfile\fR] .SH "ОПИСАНИЕ" .PP The \fBnewusers\fR command reads a \fIfile\fR (or the standard input by default) and uses this information to update a set of existing users or to create new users\&. Each line is in the same format as the standard password file (see \fBpasswd\fR(5)) with the exceptions explained below: .PP pw_name:pw_passwd:pw_uid:pw_gid:pw_gecos:pw_dir:pw_shell .PP \fIpw_name\fR .RS 4 Имя пользователя\&. .sp It can be the name of a new user or the name of an existing user (or a user created before by \fBnewusers\fR)\&. In case of an existing user, the user\*(Aqs information will be changed, otherwise a new user will be created\&. .RE .PP \fIpw_passwd\fR .RS 4 If this field is not empty, it will be encrypted and used as the new value of the encrypted password\&. .RE .PP \fIpw_uid\fR .RS 4 Это поле используется для определения UID пользователя\&. .sp If the field is empty, a new (unused) UID will be defined automatically by \fBnewusers\fR\&. .sp Если в этом поле указано число, то оно будет использовано в качестве UID\&. .sp If this field contains the name of an existing user (or the name of a user created before by \fBnewusers\fR), the UID of the specified user will be used\&. .sp Если изменяется UID существующего пользователя, то у файлов, которыми владел этот пользователь, нужно вручную переопределить владельца\&. .RE .PP \fIpw_gid\fR .RS 4 Это поле используется для определения ID первичной группы пользователя\&. .sp If this field contains the name of an existing group (or a group created before by \fBnewusers\fR), the GID of this group will be used as the primary group ID for the user\&. .sp Если в этом поле содержится число, то это число будет использовано как ID первичной группы пользователя\&. Если с таким GID не существует, то будет создана новая группа с этим GID и именем пользователя\&. .sp If this field is empty, a new group will be created with the name of the user and a GID will be automatically defined by \fBnewusers\fR to be used as the primary group ID for the user and as the GID for the new group\&. .sp If this field contains the name of a group which does not exist (and was not created before by \fBnewusers\fR), a new group will be created with the specified name and a GID will be automatically defined by \fBnewusers\fR to be used as the primary group ID for the user and GID for the new group\&. .RE .PP \fIpw_gecos\fR .RS 4 Это поле копируется в поле GECOS записи пользователя\&. .RE .PP \fIpw_dir\fR .RS 4 Это поле используется для определения домашнего каталога пользователя\&. .sp If this field does not specify an existing directory, the specified directory is created, with ownership set to the user being created or updated and its primary group\&. Note that \fInewusers does not create parent directories \fR of the new user\*(Aqs home directory\&. The newusers command will fail to create the home directory if the parent directories do not exist, and will send a message to stderr informing the user of the failure\&. The newusers command will not halt or return a failure to the calling shell if it fails to create the home directory, it will continue to process the batch of new users specified\&. .sp If the home directory of an existing user is changed, \fBnewusers\fR does not move or copy the content of the old directory to the new location\&. This should be done manually\&. .RE .PP \fIpw_shell\fR .RS 4 В этом поле задаётся пользовательская оболочка\&. Никаких проверок поля не делается\&. .RE .PP \fBnewusers\fR first tries to create or change all the specified users, and then write these changes to the user or group databases\&. If an error occurs (except in the final writes to the databases), no changes are committed to the databases\&. .PP Во время первого прохода пользователи создаются с заблокированными паролями (у несоздаваемых пользователей пароли не изменяются)\&. Во время второго прохода выполняется обновление паролей с помощью PAM\&. При возникновении ошибок при обновлении об этом сообщается, но обновление паролей продолжается\&. .PP Данная команда предназначена для работы в крупных системных средах, где за один раз обновляется несколько учётных записей\&. .SH "ПАРАМЕТРЫ" .PP The options which apply to the \fBnewusers\fR command are: .PP \fB\-\-badname\fR\ \& .RS 4 Allow names that do not conform to standards\&. .RE .PP \fB\-h\fR, \fB\-\-help\fR .RS 4 Показать краткую справку и закончить работу\&. .RE .PP \fB\-r\fR, \fB\-\-system\fR .RS 4 Создать системную учётную запись\&. .sp System users will be created with no aging information in /etc/shadow, and their numeric identifiers are chosen in the \fBSYS_UID_MIN\fR\-\fBSYS_UID_MAX\fR range, defined in login\&.defs, instead of \fBUID_MIN\fR\-\fBUID_MAX\fR (and their \fBGID\fR counterparts for the creation of groups)\&. .RE .PP \fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR .RS 4 Apply changes in the \fICHROOT_DIR\fR directory and use the configuration files from the \fICHROOT_DIR\fR directory\&. Only absolute paths are supported\&. No SELINUX support\&. .RE .SH "ПРЕДОСТЕРЕЖЕНИЯ" .PP Файл с входными данными должен быть защищён, так как в нём содержатся не шифрованные пароли\&. .SH "НАСТРОЙКА" .PP The following configuration variables in /etc/login\&.defs change the behavior of this tool: .PP \fBGID_MAX\fR (number), \fBGID_MIN\fR (number) .RS 4 Range of group IDs used for the creation of regular groups by \fBuseradd\fR, \fBgroupadd\fR, or \fBnewusers\fR\&. .sp The default value for \fBGID_MIN\fR (resp\&. \fBGID_MAX\fR) is 1000 (resp\&. 60000)\&. .RE .PP \fBHOME_MODE\fR (number) .RS 4 The mode for new home directories\&. If not specified, the \fBUMASK\fR is used to create the mode\&. .sp \fBuseradd\fR and \fBnewusers\fR use this to set the mode of the home directory they create\&. .RE .PP \fBMAX_MEMBERS_PER_GROUP\fR (number) .RS 4 Maximum members per group entry\&. When the maximum is reached, a new group entry (line) is started in /etc/group (with the same name, same password, and same GID)\&. .sp Значение по умолчанию равно 0, означающее, что ограничения на количество членов в группе нет\&. .sp Данная возможность (разделение группы) позволяет ограничить длину строк в файле групп\&. Это полезно для ограничения длины строк групп NIS в 1024 символа\&. .sp Если вам нужно такое ограничение, укажите значение 25\&. .sp Замечание: разделение групп поддерживается не всеми инструментами (даже в наборе инструментов Shadow)\&. Вы не должны использовать эту переменную, если вам действительно это ненужно\&. .RE .PP \fBPASS_MAX_DAYS\fR (number) .RS 4 Максимальное число дней использования пароля\&. Если пароль старее этого числа, то будет запущена процедура смены пароля\&. Если значение не задано, то предполагается значение \-1 (то есть возможность ограничения не используется)\&. .RE .PP \fBPASS_WARN_AGE\fR (number) .RS 4 The number of days warning given before a password expires\&. A zero means warning is given only upon the day of expiration, a value of \-1 means no warning is given\&. If not specified, no warning will be provided\&. .RE .PP \fBSUB_GID_MIN\fR (number), \fBSUB_GID_MAX\fR (number), \fBSUB_GID_COUNT\fR (number) .RS 4 If /etc/subuid exists, the commands \fBuseradd\fR and \fBnewusers\fR (unless the user already have subordinate group IDs) allocate \fBSUB_GID_COUNT\fR unused group IDs from the range \fBSUB_GID_MIN\fR to \fBSUB_GID_MAX\fR for each new user\&. .sp The default values for \fBSUB_GID_MIN\fR, \fBSUB_GID_MAX\fR, \fBSUB_GID_COUNT\fR are respectively 100000, 600100000 and 65536\&. .RE .PP \fBSUB_GID_DETERMINISTIC\fR (boolean) .RS 4 If set to \fIyes\fR, the commands \fBuseradd\fR, \fBusermod\fR, and \fBnewusers\fR will calculate subordinate GID ranges deterministically based on the user\*(Aqs UID instead of searching for the next free range\&. The formula used is: .sp .if n \{\ .RS 4 .\} .nf start = SUB_GID_MIN + ((UID \- UID_MIN) * SUB_GID_COUNT) end = start + SUB_GID_COUNT \- 1 .fi .if n \{\ .RE .\} .sp This ensures the same UID always receives the same subordinate GID range on every system, making it suitable for environments with centralized user management (LDAP, NIS, etc\&.) or synchronized UIDs across systems\&. .sp If \fBSUB_GID_DETERMINISTIC\fR is enabled, you can use \fBusermod \-\-add\-subgids \-S\fR to produce deterministic subgids\&. .sp \fBWARNING\fR: Because \fBUID_MIN\fR is used to calculate the ranges, any change of \fBUID_MIN\fR will change the ranges calculated\&. \fBSUB_GID_COUNT\fR is used to calculate the ranges, any change of \fBSUB_GID_COUNT\fR will change the ranges calculated\&. Users with identities less than \fBUID_MIN\fR are incompatible with \fBSUB_GID_DETERMINISTIC\fR, but can still be set manually\&. .sp \fBWARNING\fR: Do not mix deterministic and linear (default) allocation on the same system or across systems sharing /etc/subgid via network storage (NFS, etc\&.)\&. Mixing allocation methods \fB will cause subordinate ID range conflicts and overlaps \fR\&. .sp The default value for \fBSUB_GID_DETERMINISTIC\fR is \fIno\fR\&. .SS "Range Calculation Examples" With default configuration (\fBUID_MIN\fR=1000, \fBSUB_GID_MIN\fR=100000, \fBSUB_GID_COUNT\fR=65536): .TS allbox tab(:); lB lB lB. T{ UID T}:T{ Calculation T}:T{ Subordinate GID Range T} .T& l l l l l l l l l l l l. T{ 1000 T}:T{ 100000 + ((1000\-1000) * 65536) T}:T{ 100000\-165535 T} T{ 1001 T}:T{ 100000 + ((1001\-1000) * 65536) T}:T{ 165536\-231071 T} T{ 1002 T}:T{ 100000 + ((1002\-1000) * 65536) T}:T{ 231072\-296607 T} T{ 1100 T}:T{ 100000 + ((1100\-1000) * 65536) T}:T{ 6653600\-6719135 T} .TE .sp 1 .SS "Subordinate ID Space Planning" When planning subordinate ID allocation, calculate the maximum number of users the space can accommodate: .sp .if n \{\ .RS 4 .\} .nf capacity = (SUB_GID_MAX \- SUB_GID_MIN) / SUB_GID_COUNT .fi .if n \{\ .RE .\} .sp With default values: (600100000 \- 100000) / 65536 ≈ 9155 users\&. .sp For high\-density environments with many users and smaller allocations: .sp .if n \{\ .RS 4 .\} .nf SUB_GID_COUNT 4096 SUB_GID_MIN 100000 SUB_GID_MAX 10000000 .fi .if n \{\ .RE .\} .sp This gives: (10000000 \- 100000) / 4096 ≈ 2417 users\&. .RE .PP \fBUNSAFE_SUB_GID_DETERMINISTIC_WRAP\fR (boolean) .RS 4 \fB WARNING: SECURITY RISK \- MAY CAUSE RANGE OVERLAPS AND PRIVILEGE ESCALATION! \fR .sp Only effective when \fBSUB_GID_DETERMINISTIC\fR is set to \fIyes\fR\&. .sp When set to \fIyes\fR (WRAP MODE), allows the deterministic range calculation to wrap around using modulo arithmetic when a UID would overflow the configured subordinate ID space\&. The subordinate ID space is treated as a ring buffer\&. .sp \fBWARNING\fR: Range overlaps can lead to container escapes and privilege escalation\&. For example, with \fBSUB_GID_MIN\fR=100000, \fBSUB_GID_MAX\fR=200000, \fBSUB_GID_COUNT\fR=65536, User A (UID 1000) gets range [100000, 165535] and User B (UID 1001) wraps and overlaps with User A\&. User B\*(Aqs container can now access files from User A\*(Aqs containers\&. .sp Use \fBonly\fR in development, testing, or tightly constrained lab environments\&. .sp When set to \fIno\fR (default), any arithmetic overflow or range exceeding \fBSUB_GID_MAX\fR is a hard error\&. This guarantees non\-overlapping, monotonic allocation\&. .sp The default value for \fBUNSAFE_SUB_GID_DETERMINISTIC_WRAP\fR is \fIno\fR\&. .RE .PP \fBSUB_UID_MIN\fR (number), \fBSUB_UID_MAX\fR (number), \fBSUB_UID_COUNT\fR (number) .RS 4 If /etc/subuid exists, the commands \fBuseradd\fR and \fBnewusers\fR (unless the user already have subordinate user IDs) allocate \fBSUB_UID_COUNT\fR unused user IDs from the range \fBSUB_UID_MIN\fR to \fBSUB_UID_MAX\fR for each new user\&. .sp The default values for \fBSUB_UID_MIN\fR, \fBSUB_UID_MAX\fR, \fBSUB_UID_COUNT\fR are respectively 100000, 600100000 and 65536\&. .RE .PP \fBSUB_UID_DETERMINISTIC\fR (boolean) .RS 4 If set to \fIyes\fR, the commands \fBuseradd\fR, \fBusermod\fR, and \fBnewusers\fR will calculate subordinate UID ranges deterministically based on the user\*(Aqs UID instead of searching for the next free range\&. The formula used is: .sp .if n \{\ .RS 4 .\} .nf start = SUB_UID_MIN + ((UID \- UID_MIN) * SUB_UID_COUNT) end = start + SUB_UID_COUNT \- 1 .fi .if n \{\ .RE .\} .sp This ensures the same UID always receives the same subordinate UID range on every system, making it suitable for environments with centralized user management (LDAP, NIS, etc\&.) or synchronized UIDs across systems\&. .sp If \fBSUB_UID_DETERMINISTIC\fR is enabled, you can use \fBusermod \-\-add\-subuids \-S\fR to produce deterministic subuids\&. .sp \fBWARNING\fR: Because \fBUID_MIN\fR is used to calculate the ranges, any change of \fBUID_MIN\fR will change the ranges calculated\&. \fBSUB_UID_COUNT\fR is used to calculate the ranges, any change of \fBSUB_UID_COUNT\fR will change the ranges calculated\&. Users with identities less than \fBUID_MIN\fR are incompatible with \fBSUB_UID_DETERMINISTIC\fR, but can still be set manually\&. .sp \fBWARNING\fR: Do not mix deterministic and linear (default) allocation on the same system or across systems sharing /etc/subuid via network storage (NFS, etc\&.)\&. Mixing allocation methods \fB will cause subordinate ID range conflicts and overlaps \fR\&. .sp The default value for \fBSUB_UID_DETERMINISTIC\fR is \fIno\fR\&. .SS "Range Calculation Examples" With default configuration (\fBUID_MIN\fR=1000, \fBSUB_UID_MIN\fR=100000, \fBSUB_UID_COUNT\fR=65536): .TS allbox tab(:); lB lB lB. T{ UID T}:T{ Calculation T}:T{ Subordinate UID Range T} .T& l l l l l l l l l l l l. T{ 1000 T}:T{ 100000 + ((1000\-1000) * 65536) T}:T{ 100000\-165535 T} T{ 1001 T}:T{ 100000 + ((1001\-1000) * 65536) T}:T{ 165536\-231071 T} T{ 1002 T}:T{ 100000 + ((1002\-1000) * 65536) T}:T{ 231072\-296607 T} T{ 1100 T}:T{ 100000 + ((1100\-1000) * 65536) T}:T{ 6653600\-6719135 T} .TE .sp 1 .SS "Subordinate ID Space Planning" When planning subordinate ID allocation, calculate the maximum number of users the space can accommodate: .sp .if n \{\ .RS 4 .\} .nf capacity = (SUB_UID_MAX \- SUB_UID_MIN) / SUB_UID_COUNT .fi .if n \{\ .RE .\} .sp With default values: (600100000 \- 100000) / 65536 ≈ 9155 users\&. .sp For high\-density environments with many users and smaller allocations: .sp .if n \{\ .RS 4 .\} .nf SUB_UID_COUNT 4096 SUB_UID_MIN 100000 SUB_UID_MAX 10000000 .fi .if n \{\ .RE .\} .sp This gives: (10000000 \- 100000) / 4096 ≈ 2417 users\&. .RE .PP \fBUNSAFE_SUB_UID_DETERMINISTIC_WRAP\fR (boolean) .RS 4 \fB WARNING: SECURITY RISK \- MAY CAUSE RANGE OVERLAPS AND PRIVILEGE ESCALATION! \fR .sp Only effective when \fBSUB_UID_DETERMINISTIC\fR is set to \fIyes\fR\&. .sp When set to \fIyes\fR (WRAP MODE), allows the deterministic range calculation to wrap around using modulo arithmetic when a UID would overflow the configured subordinate ID space\&. The subordinate ID space is treated as a ring buffer\&. .sp \fBWARNING\fR: Range overlaps can lead to container escapes and privilege escalation\&. For example, with \fBSUB_UID_MIN\fR=100000, \fBSUB_UID_MAX\fR=200000, \fBSUB_UID_COUNT\fR=65536, User A (UID 1000) gets range [100000, 165535] and User B (UID 1001) wraps and overlaps with User A\&. User B\*(Aqs container can now access files from User A\*(Aqs containers\&. .sp Use \fBonly\fR in development, testing, or tightly constrained lab environments\&. .sp When set to \fIno\fR (default), any arithmetic overflow or range exceeding \fBSUB_UID_MAX\fR is a hard error\&. This guarantees non\-overlapping, monotonic allocation\&. .sp The default value for \fBUNSAFE_SUB_UID_DETERMINISTIC_WRAP\fR is \fIno\fR\&. .RE .PP \fBSYS_GID_MAX\fR (number), \fBSYS_GID_MIN\fR (number) .RS 4 Range of group IDs used for the creation of system groups by \fBuseradd\fR, \fBgroupadd\fR, or \fBnewusers\fR\&. .sp The default value for \fBSYS_GID_MIN\fR (resp\&. \fBSYS_GID_MAX\fR) is 101 (resp\&. \fBGID_MIN\fR\-1)\&. .RE .PP \fBSYS_UID_MAX\fR (number), \fBSYS_UID_MIN\fR (number) .RS 4 Range of user IDs used for the creation of system users by \fBuseradd\fR or \fBnewusers\fR\&. .sp The default value for \fBSYS_UID_MIN\fR (resp\&. \fBSYS_UID_MAX\fR) is 101 (resp\&. \fBUID_MIN\fR\-1)\&. .RE .PP \fBUID_MAX\fR (number), \fBUID_MIN\fR (number) .RS 4 Range of user IDs used for the creation of regular users by \fBuseradd\fR or \fBnewusers\fR\&. .sp The default value for \fBUID_MIN\fR (resp\&. \fBUID_MAX\fR) is 1000 (resp\&. 60000)\&. .RE .PP \fBUMASK\fR (number) .RS 4 Задаёт начальное значение маски доступа для создаваемых файлов\&. Если не указано, то маска устанавливается в 022\&. .sp \fBuseradd\fR and \fBnewusers\fR use this mask to set the mode of the home directory they create if \fBHOME_MODE\fR is not set\&. .sp It is also used by \fBpam_umask\fR as the default umask value\&. .RE .SH "ФАЙЛЫ" .PP /etc/passwd .RS 4 содержит информацию о пользователях .RE .PP /etc/shadow .RS 4 содержит защищаемую информацию о пользователях .RE .PP /etc/group .RS 4 содержит информацию о группах .RE .PP /etc/gshadow .RS 4 содержит защищаемую информацию о группах .RE .PP /etc/login\&.defs .RS 4 содержит конфигурацию подсистемы теневых паролей .RE .PP /etc/pam\&.d/newusers .RS 4 PAM configuration for \fBnewusers\fR\&. .RE .PP /etc/subgid .RS 4 Per user subordinate group IDs\&. .RE .PP /etc/subuid .RS 4 Per user subordinate user IDs\&. .RE .SH "СМОТРИТЕ ТАКЖЕ" .PP \fBlogin.defs\fR(5), \fBpasswd\fR(1), \fBsubgid\fR(5), \fBsubuid\fR(5), \fBuseradd\fR(8)\&.