'\" t .\" Title: newusers .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 30/07/2026 .\" Manual: System Management Commands .\" Source: shadow-utils 4.20.0 .\" Language: Ukrainian .\" .TH "newusers" "8" "30/07/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 Це ім\*(Aqя користувача\&. .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 Це поле використовують для визначення ідентифікатора основної групи користувача\&. .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 Якщо у цьому полі записано число, це число буде використано як ідентифікатор основної групи користувача\&. Якщо груп із цим 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 Дозволити назви, які не відповідають стандартам\&. .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 Зауваження: підтримку поділу груп не обов\*(Aqязково передбачено в усіх програмах (навіть у засобах комплексу 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 Окремі для користувачів ідентифікатори підлеглих груп\&. .RE .PP /etc/subuid .RS 4 Окремі для користувачів ідентифікатори підлеглих користувачів\&. .RE .SH "ДИВ\&. ТАКОЖ" .PP \fBlogin.defs\fR(5), \fBpasswd\fR(1), \fBsubgid\fR(5), \fBsubuid\fR(5), \fBuseradd\fR(8)\&.