'\" 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: Persian .\" .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 "نام (NAME)" newusers \- به‌روزرسانی و ایجاد دسته‌ای کاربران .SH "خلاصه دستور (SYNOPSIS)" .HP \w'\fBnewusers\fR\ 'u \fBnewusers\fR [\fIگزینه‌ها\fR] [\fIفایل\fR] .SH "توضیحات (DESCRIPTION)" .PP دستور \fBnewusers\fR یک \fIفایل\fR (یا ورودی استاندارد به صورت پیش‌فرض) را می‌خواند و از این اطلاعات برای به‌روزرسانی مجموعه‌ای از کاربران موجود یا ایجاد کاربران جدید استفاده می‌کند\&. هر خط همان قالبی را دارد که در فایل استاندارد گذرواژه مشخص شده است (نگاه کنید به \fBpasswd\fR(5))، به استثنای مواردی که در ادامه توضیح داده شده است: .PP pw_name:pw_passwd:pw_uid:pw_gid:pw_gecos:pw_dir:pw_shell .PP \fIpw_name\fR .RS 4 این نام کاربری است\&. .sp می‌تواند نام یک کاربر جدید یا نام یک کاربر موجود باشد (یا کاربری که قبلاً توسط \fBnewusers\fR ایجاد شده است)\&. در صورت وجود کاربر، اطلاعات کاربر تغییر داده خواهد شد، در غیر این صورت یک کاربر جدید ایجاد می‌شود\&. .RE .PP \fIpw_passwd\fR .RS 4 اگر این فیلد خالی نباشد، رمزگذاری شده و به عنوان مقدار جدید گذرواژه رمزگذاری‌شده استفاده خواهد شد\&. .RE .PP \fIpw_uid\fR .RS 4 این فیلد برای تعیین شناسه کاربری (UID) کاربر استفاده می‌شود\&. .sp اگر فیلد خالی باشد، یک شناسه کاربری جدید (استفاده‌نشده) به طور خودکار توسط \fBnewusers\fR تعیین خواهد شد\&. .sp اگر این فیلد شامل یک عدد باشد، این عدد به عنوان شناسه کاربری (UID) استفاده می‌شود\&. .sp اگر این فیلد شامل نام یک کاربر موجود باشد (یا نام کاربری که قبلاً توسط \fBnewusers\fR ایجاد شده است)، شناسه کاربری (UID) کاربر مشخص‌شده استفاده خواهد شد\&. .sp اگر شناسه کاربری (UID) یک کاربر موجود تغییر کند، مالکیت فایل‌های کاربر باید به صورت دستی اصلاح شود\&. .RE .PP \fIpw_gid\fR .RS 4 این فیلد برای تعیین شناسه گروه اصلی (GID) کاربر استفاده می‌شود\&. .sp اگر این فیلد شامل نام یک گروه موجود باشد (یا گروهی که قبلاً توسط \fBnewusers\fR ایجاد شده است)، شناسه گروه (GID) این گروه به عنوان شناسه گروه اصلی کاربر استفاده خواهد شد\&. .sp اگر این فیلد یک عدد باشد، این عدد به عنوان شناسه گروه اصلی کاربر استفاده خواهد شد\&. اگر هیچ گروهی با این GID وجود نداشته باشد، یک گروه جدید با این GID و نام کاربر ایجاد خواهد شد\&. .sp اگر این فیلد خالی باشد، یک گروه جدید با نام کاربر ایجاد می‌شود و یک GID به طور خودکار توسط \fBnewusers\fR تعیین می‌گردد تا به عنوان شناسه گروه اصلی کاربر و همچنین به عنوان GID برای گروه جدید استفاده شود\&. .sp اگر این فیلد شامل نام گروهی باشد که وجود ندارد (و قبلاً نیز توسط \fBnewusers\fR ایجاد نشده است)، یک گروه جدید با نام مشخص‌شده ایجاد می‌شود و یک GID به طور خودکار توسط \fBnewusers\fR تعیین خواهد شد تا به عنوان شناسه گروه اصلی کاربر و GID برای گروه جدید استفاده شود\&. .RE .PP \fIpw_gecos\fR .RS 4 این فیلد در بخش GECOS کاربر کپی می‌شود\&. .RE .PP \fIpw_dir\fR .RS 4 این فیلد برای تعیین دایرکتوری خانگی کاربر استفاده می‌شود\&. .sp اگر این فیلد دایرکتوری موجودی را مشخص نکند، دایرکتوری مشخص‌شده با تنظیم مالکیت برای کاربر در حال ایجاد یا به‌روزرسانی و گروه اصلی آن، ایجاد می‌شود\&. توجه داشته باشید که \fInewusers دایرکتوری‌های والد \fR دایرکتوری خانگی کاربر جدید را ایجاد نمی‌کند\&. اگر دایرکتوری‌های والد وجود نداشته باشند، دستور newusers در ایجاد دایرکتوری خانگی ناموفق خواهد بود و پیامی به stderr ارسال می‌کند تا کاربر را از این شکست مطلع سازد\&. دستور newusers در صورت عدم موفقیت در ایجاد دایرکتوری خانگی، متوقف نمی‌شود یا وضعیت شکست را به پوستهٔ فراخوان بازنمی‌گرداند؛ بلکه پردازش دستهٔ کاربران جدید مشخص‌شده را ادامه می‌دهد\&. .sp اگر دایرکتوری خانگی یک کاربر موجود تغییر داده شود، \fBnewusers\fR محتوای دایرکتوری قدیمی را به مکان جدید منتقل یا کپی نمی‌کند\&. این کار باید به صورت دستی انجام شود\&. .RE .PP \fIpw_shell\fR .RS 4 این فیلد پوستهٔ کاربر را تعیین می‌کند\&. هیچ بررسی خاصی روی این فیلد انجام نمی‌شود\&. .RE .PP دستور \fBnewusers\fR ابتدا تلاش می‌کند تا تمام کاربران مشخص‌شده را ایجاد کرده یا تغییر دهد، و سپس این تغییرات را در پایگاه‌های داده کاربر یا گروه بنویسد\&. اگر خطایی رخ دهد (به جز در نوشتن نهایی در پایگاه‌های داده)، هیچ تغییری در پایگاه‌های داده ثبت نمی‌شود\&. .PP در طول این گذر اول، کاربران با یک گذرواژه قفل‌شده ایجاد می‌شوند (و گذرواژه‌ها برای کاربرانی که ایجاد نشده‌اند تغییر نمی‌کند)\&. یک گذر دوم برای به‌روزرسانی گذرواژه‌ها با استفاده از PAM استفاده می‌شود\&. عدم موفقیت در به‌روزرسانی یک گذرواژه گزارش می‌شود، اما مانع از به‌روزرسانی سایر گذرواژه‌ها نخواهد شد\&. .PP این دستور برای استفاده در محیط‌های سیستمی بزرگ طراحی شده است که در آن‌ها حساب‌های کاربری زیادی در یک زمان واحد به‌روزرسانی می‌شوند\&. .SH "گزینه‌ها (OPTIONS)" .PP گزینه‌هایی که برای دستور \fBnewusers\fR اعمال می‌شوند عبارتند از: .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 کاربران سیستمی بدون اطلاعات انقضا (aging) در /etc/shadow ایجاد خواهند شد، و شناسه‌های عددی آن‌ها به جای \fBUID_MIN\fR\-\fBUID_MAX\fR از محدودهٔ \fBSYS_UID_MIN\fR\-\fBSYS_UID_MAX\fR تعریف‌شده در login\&.defs انتخاب می‌شود (و همچنین معادل‌های \fBGID\fR آن‌ها برای ایجاد گروه‌ها)\&. .RE .PP \fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR .RS 4 اعمال تغییرات در دایرکتوری \fICHROOT_DIR\fR و استفاده از فایل‌های پیکربندی موجود در دایرکتوری \fICHROOT_DIR\fR\&. تنها مسیرهای مطلق پشتیبانی می‌شوند\&. هیچ پشتیبانی از SELINUX وجود ندارد\&. .RE .SH "هشدارها (CAVEATS)" .PP فایل ورودی باید محافظت شود زیرا شامل گذرواژه‌های رمزگذاری‌نشده است\&. .SH "پیکربندی (CONFIGURATION)" .PP متغیرهای پیکربندی زیر در /etc/login\&.defs رفتار این ابزار را تغییر می‌دهند: .PP \fBGID_MAX\fR (عدد)، \fBGID_MIN\fR (عدد) .RS 4 محدوده شناسه‌های گروه مورد استفاده برای ایجاد گروه‌های عادی توسط \fBuseradd\fR، \fBgroupadd\fR یا \fBnewusers\fR\&. .sp مقدار پیش‌فرض برای \fBGID_MIN\fR (به ترتیب \fBGID_MAX\fR) برابر با 1000 (به ترتیب 60000) است\&. .RE .PP \fBHOME_MODE\fR (عدد) .RS 4 حالت دسترسی (mode) برای دایرکتوری‌های خانگی جدید\&. در صورت عدم تعیین، از \fBUMASK\fR برای ایجاد حالت دسترسی استفاده می‌شود\&. .sp دستورات \fBuseradd\fR و \fBnewusers\fR از این مقدار برای تنظیم حالت دسترسی دایرکتوری خانگی که ایجاد می‌کنند استفاده می‌نمایند\&. .RE .PP \fBMAX_MEMBERS_PER_GROUP\fR (عدد) .RS 4 حداکثر تعداد اعضا در هر ورودی گروه\&. هنگامی که این حداکثر پر شود، یک ورودی (خط) جدید برای گروه در /etc/group آغاز می‌شود (با همان نام، همان گذرواژه و همان GID)\&. .sp مقدار پیش‌فرض 0 است، به این معنی که هیچ محدودیتی در تعداد اعضای یک گروه وجود ندارد\&. .sp این قابلیت (تقسیم گروه یا split group) امکان محدود کردن طول خطوط در فایل گروه را فراهم می‌کند\&. این ویژگی برای اطمینان از اینکه طول خطوط گروه‌های NIS از ۱۰۲۴ نویسه بیشتر نشود، مفید است\&. .sp اگر نیاز به اعمال چنین محدودیتی دارید، می‌توانید از مقدار 25 استفاده کنید\&. .sp نکته: تقسیم گروه‌ها ممکن است توسط همه ابزارها پشتیبانی نشود (حتی در مجموعه ابزار Shadow)\&. نباید از این متغیر استفاده کنید مگر اینکه واقعاً به آن نیاز داشته باشید\&. .RE .PP \fBPASS_MAX_DAYS\fR (عدد) .RS 4 حداکثر تعداد روزهایی که یک گذرواژه می‌تواند مورد استفاده قرار گیرد\&. اگر عمر گذرواژه بیشتر از این مقدار باشد، تغییر گذرواژه اجباری خواهد شد\&. در صورت عدم تعیین، مقدار 1\- در نظر گرفته می‌شود (که این محدودیت را غیرفعال می‌کند)\&. .RE .PP \fBPASS_WARN_AGE\fR (عدد) .RS 4 تعداد روزهای هشداری که قبل از انقضای گذرواژه داده می‌شود\&. مقدار صفر یعنی هشدار فقط در روز انقضا داده شود، مقدار 1\- یعنی هیچ هشداری داده نشود\&. در صورت عدم تعیین، هیچ هشداری ارائه نخواهد شد\&. .RE .PP \fBSUB_GID_MIN\fR (عدد)، \fBSUB_GID_MAX\fR (عدد)، \fBSUB_GID_COUNT\fR (عدد) .RS 4 اگر /etc/subuid وجود داشته باشد، دستورات \fBuseradd\fR و \fBnewusers\fR (مگر اینکه کاربر از قبل دارای شناسه‌های گروه زیرمجموعه باشد) تعداد \fBSUB_GID_COUNT\fR شناسه گروه استفاده‌نشده را از محدوده \fBSUB_GID_MIN\fR تا \fBSUB_GID_MAX\fR برای هر کاربر جدید اختصاص می‌دهند\&. .sp مقادیر پیش‌فرض برای \fBSUB_GID_MIN\fR، \fBSUB_GID_MAX\fR و \fBSUB_GID_COUNT\fR به ترتیب 100000، 600100000 و 65536 هستند\&. .RE .PP \fBSUB_GID_DETERMINISTIC\fR (بولی) .RS 4 اگر روی \fIyes\fR تنظیم شود، دستورات \fBuseradd\fR، \fBusermod\fR و \fBnewusers\fR به جای جستجو برای محدوده آزاد بعدی، محدوده‌های GID زیرمجموعه را به صورت قطعی (deterministic) بر اساس UID کاربر محاسبه خواهند کرد\&. فرمول مورد استفاده عبارت است از: .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 این ویژگی تضمین می‌کند که یک UID یکسان همواره محدودهٔ GID زیرمجموعه یکسانی را در هر سیستمی دریافت کند، که آن را برای محیط‌هایی با مدیریت متمرکز کاربران (مانند LDAP، NIS و غیره) یا شناسه‌های کاربری (UID) همگام‌سازی‌شده در سراسر سیستم‌ها مناسب می‌سازد\&. .sp اگر \fBSUB_GID_DETERMINISTIC\fR فعال باشد، می‌توانید از \fBusermod \-\-add\-subgids \-S\fR برای تولید subgidهای قطعی استفاده کنید\&. .sp \fBهشدار\fR: از آنجا که از \fBUID_MIN\fR برای محاسبه محدوده‌ها استفاده می‌شود، هرگونه تغییر در \fBUID_MIN\fR محدوده‌های محاسبه‌شده را تغییر خواهد داد\&. از آنجا که از \fBSUB_GID_COUNT\fR برای محاسبه محدوده‌ها استفاده می‌شود، هرگونه تغییر در \fBSUB_GID_COUNT\fR محدوده‌های محاسبه‌شده را تغییر خواهد داد\&. کاربرانی با شناسه‌های کمتر از \fBUID_MIN\fR با \fBSUB_GID_DETERMINISTIC\fR ناسازگار هستند، اما همچنان می‌توان آن‌ها را به صورت دستی تنظیم کرد\&. .sp \fBهشدار\fR: تخصیص قطعی و خطی (پیش‌فرض) را روی یک سیستم یا میان سیستم‌هایی که /etc/subgid را از طریق ذخیره‌سازی تحت شبکه (NFS و غیره) به اشتراک می‌گذارند، با یکدیگر ترکیب نکنید\&. ترکیب روش‌های تخصیص \fB موجب تداخل و همپوشانی در محدوده‌های شناسه زیرمجموعه خواهد شد \fR\&. .sp مقدار پیش‌فرض برای \fBSUB_GID_DETERMINISTIC\fR برابر با \fIno\fR است\&. .SS "مثال‌های محاسبه محدوده" با پیکربندی پیش‌فرض (\fBUID_MIN\fR=1000، \fBSUB_GID_MIN\fR=100000، \fBSUB_GID_COUNT\fR=65536): .TS allbox tab(:); lB lB lB. T{ UID T}:T{ محاسبه T}:T{ محدوده GID زیرمجموعه 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 "برنامه‌ریزی فضای شناسه زیرمجموعه" هنگام برنامه‌ریزی برای تخصیص شناسه‌های زیرمجموعه، حداکثر تعداد کاربرانی را که این فضا می‌تواند در خود جای دهد محاسبه کنید: .sp .if n \{\ .RS 4 .\} .nf capacity = (SUB_GID_MAX \- SUB_GID_MIN) / SUB_GID_COUNT .fi .if n \{\ .RE .\} .sp با مقادیر پیش‌فرض: (600100000 \- 100000) / 65536 ≈ 9155 کاربر\&. .sp برای محیط‌های با تراکم بالا همراه با کاربران زیاد و تخصیص‌های کوچک‌تر: .sp .if n \{\ .RS 4 .\} .nf SUB_GID_COUNT 4096 SUB_GID_MIN 100000 SUB_GID_MAX 10000000 .fi .if n \{\ .RE .\} .sp این مقادیر حاصل می‌دهند: (10000000 \- 100000) / 4096 ≈ 2417 کاربر\&. .RE .PP \fBUNSAFE_SUB_GID_DETERMINISTIC_WRAP\fR (بولی) .RS 4 \fB هشدار: خطر امنیتی \- ممکن است باعث همپوشانی محدوده‌ها و ارتقای امتیازات شود! \fR .sp تنها زمانی مؤثر است که \fBSUB_GID_DETERMINISTIC\fR روی \fIyes\fR تنظیم شده باشد\&. .sp هنگامی که روی \fIyes\fR (حالت WRAP) تنظیم شود، به محاسبه محدوده قطعی اجازه می‌دهد در صورتی که یک UID از فضای پیکربندی‌شده شناسه زیرمجموعه سرریز کند، با استفاده از محاسبات پیمانه‌ای (modulo arithmetic) دور بزند (wrap around)\&. در این حالت با فضای شناسه زیرمجموعه مانند یک بافر حلقوی (ring buffer) رفتار می‌شود\&. .sp \fBهشدار\fR: همپوشانی محدوده‌ها می‌تواند منجر به گریز از کانتینر (container escape) و ارتقای امتیازات شود\&. به عنوان مثال، با \fBSUB_GID_MIN\fR=100000، \fBSUB_GID_MAX\fR=200000 و \fBSUB_GID_COUNT\fR=65536، کاربر A با شناسه (UID 1000) محدوده [100000, 165535] را دریافت می‌کند و کاربر B با شناسه (UID 1001) دور می‌زند و با کاربر A همپوشانی پیدا می‌کند\&. اکنون کانتینر کاربر B می‌تواند به فایل‌های کانتینرهای کاربر A دسترسی داشته باشد\&. .sp \fBتنها\fR در محیط‌های توسعه، آزمایشی یا محیط‌های آزمایشگاهی به شدت کنترل‌شده استفاده شود\&. .sp هنگامی که روی \fIno\fR (پیش‌فرض) تنظیم شود، هرگونه سرریز حسابی یا تجاوز محدوده از \fBSUB_GID_MAX\fR یک خطای قطعی (hard error) خواهد بود\&. این تضمین‌کننده تخصیص غیرهمپوشان و یکنواخت صعودی است\&. .sp مقدار پیش‌فرض برای \fBUNSAFE_SUB_GID_DETERMINISTIC_WRAP\fR برابر با \fIno\fR است\&. .RE .PP \fBSUB_UID_MIN\fR (عدد)، \fBSUB_UID_MAX\fR (عدد)، \fBSUB_UID_COUNT\fR (عدد) .RS 4 اگر /etc/subuid وجود داشته باشد، دستورات \fBuseradd\fR و \fBnewusers\fR (مگر اینکه کاربر از قبل دارای شناسه‌های کاربری زیرمجموعه باشد) تعداد \fBSUB_UID_COUNT\fR شناسه کاربری استفاده‌نشده را از محدوده \fBSUB_UID_MIN\fR تا \fBSUB_UID_MAX\fR برای هر کاربر جدید اختصاص می‌دهند\&. .sp مقادیر پیش‌فرض برای \fBSUB_UID_MIN\fR، \fBSUB_UID_MAX\fR و \fBSUB_UID_COUNT\fR به ترتیب 100000، 600100000 و 65536 هستند\&. .RE .PP \fBSUB_UID_DETERMINISTIC\fR (بولی) .RS 4 اگر روی \fIyes\fR تنظیم شود، دستورات \fBuseradd\fR، \fBusermod\fR و \fBnewusers\fR به جای جستجو برای محدوده آزاد بعدی، محدوده‌های UID زیرمجموعه را به صورت قطعی (deterministic) بر اساس UID کاربر محاسبه خواهند کرد\&. فرمول مورد استفاده عبارت است از: .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 این ویژگی تضمین می‌کند که یک UID یکسان همواره محدودهٔ UID زیرمجموعه یکسانی را در هر سیستمی دریافت کند، که آن را برای محیط‌هایی با مدیریت متمرکز کاربران (مانند LDAP، NIS و غیره) یا شناسه‌های کاربری (UID) همگام‌سازی‌شده در سراسر سیستم‌ها مناسب می‌سازد\&. .sp اگر \fBSUB_UID_DETERMINISTIC\fR فعال باشد، می‌توانید از \fBusermod \-\-add\-subuids \-S\fR برای تولید subuidهای قطعی استفاده کنید\&. .sp \fBهشدار\fR: از آنجا که از \fBUID_MIN\fR برای محاسبه محدوده‌ها استفاده می‌شود، هرگونه تغییر در \fBUID_MIN\fR محدوده‌های محاسبه‌شده را تغییر خواهد داد\&. از آنجا که از \fBSUB_UID_COUNT\fR برای محاسبه محدوده‌ها استفاده می‌شود، هرگونه تغییر در \fBSUB_UID_COUNT\fR محدوده‌های محاسبه‌شده را تغییر خواهد داد\&. کاربرانی با شناسه‌های کمتر از \fBUID_MIN\fR با \fBSUB_UID_DETERMINISTIC\fR ناسازگار هستند، اما همچنان می‌توان آن‌ها را به صورت دستی تنظیم کرد\&. .sp \fBهشدار\fR: تخصیص قطعی و خطی (پیش‌فرض) را روی یک سیستم یا میان سیستم‌هایی که /etc/subuid را از طریق ذخیره‌سازی تحت شبکه (NFS و غیره) به اشتراک می‌گذارند، با یکدیگر ترکیب نکنید\&. ترکیب روش‌های تخصیص \fB موجب تداخل و همپوشانی در محدوده‌های شناسه زیرمجموعه خواهد شد \fR\&. .sp مقدار پیش‌فرض برای \fBSUB_UID_DETERMINISTIC\fR برابر با \fIno\fR است\&. .SS "مثال‌های محاسبه محدوده" با پیکربندی پیش‌فرض (\fBUID_MIN\fR=1000، \fBSUB_UID_MIN\fR=100000، \fBSUB_UID_COUNT\fR=65536): .TS allbox tab(:); lB lB lB. T{ UID T}:T{ محاسبه T}:T{ محدوده UID زیرمجموعه 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 "برنامه‌ریزی فضای شناسه زیرمجموعه" هنگام برنامه‌ریزی برای تخصیص شناسه‌های زیرمجموعه، حداکثر تعداد کاربرانی را که این فضا می‌تواند در خود جای دهد محاسبه کنید: .sp .if n \{\ .RS 4 .\} .nf capacity = (SUB_UID_MAX \- SUB_UID_MIN) / SUB_UID_COUNT .fi .if n \{\ .RE .\} .sp با مقادیر پیش‌فرض: (600100000 \- 100000) / 65536 ≈ 9155 کاربر\&. .sp برای محیط‌های با تراکم بالا همراه با کاربران زیاد و تخصیص‌های کوچک‌تر: .sp .if n \{\ .RS 4 .\} .nf SUB_UID_COUNT 4096 SUB_UID_MIN 100000 SUB_UID_MAX 10000000 .fi .if n \{\ .RE .\} .sp این مقادیر حاصل می‌دهند: (10000000 \- 100000) / 4096 ≈ 2417 کاربر\&. .RE .PP \fBUNSAFE_SUB_UID_DETERMINISTIC_WRAP\fR (بولی) .RS 4 \fB هشدار: خطر امنیتی \- ممکن است باعث همپوشانی محدوده‌ها و ارتقای امتیازات شود! \fR .sp تنها زمانی مؤثر است که \fBSUB_UID_DETERMINISTIC\fR روی \fIyes\fR تنظیم شده باشد\&. .sp هنگامی که روی \fIyes\fR (حالت WRAP) تنظیم شود، به محاسبه محدوده قطعی اجازه می‌دهد در صورتی که یک UID از فضای پیکربندی‌شده شناسه زیرمجموعه سرریز کند، با استفاده از محاسبات پیمانه‌ای (modulo arithmetic) دور بزند (wrap around)\&. در این حالت با فضای شناسه زیرمجموعه مانند یک بافر حلقوی (ring buffer) رفتار می‌شود\&. .sp \fBهشدار\fR: همپوشانی محدوده‌ها می‌تواند منجر به گریز از کانتینر (container escape) و ارتقای امتیازات شود\&. به عنوان مثال، با \fBSUB_UID_MIN\fR=100000، \fBSUB_UID_MAX\fR=200000 و \fBSUB_UID_COUNT\fR=65536، کاربر A با شناسه (UID 1000) محدوده [100000, 165535] را دریافت می‌کند و کاربر B با شناسه (UID 1001) دور می‌زند و با کاربر A همپوشانی پیدا می‌کند\&. اکنون کانتینر کاربر B می‌تواند به فایل‌های کانتینرهای کاربر A دسترسی داشته باشد\&. .sp \fBتنها\fR در محیط‌های توسعه، آزمایشی یا محیط‌های آزمایشگاهی به شدت کنترل‌شده استفاده شود\&. .sp هنگامی که روی \fIno\fR (پیش‌فرض) تنظیم شود، هرگونه سرریز حسابی یا تجاوز محدوده از \fBSUB_UID_MAX\fR یک خطای قطعی (hard error) خواهد بود\&. این تضمین‌کننده تخصیص غیرهمپوشان و یکنواخت صعودی است\&. .sp مقدار پیش‌فرض برای \fBUNSAFE_SUB_UID_DETERMINISTIC_WRAP\fR برابر با \fIno\fR است\&. .RE .PP \fBSYS_GID_MAX\fR (عدد)، \fBSYS_GID_MIN\fR (عدد) .RS 4 محدوده شناسه‌های گروه مورد استفاده برای ایجاد گروه‌های سیستمی توسط \fBuseradd\fR، \fBgroupadd\fR یا \fBnewusers\fR\&. .sp مقدار پیش‌فرض برای \fBSYS_GID_MIN\fR (به ترتیب \fBSYS_GID_MAX\fR) برابر با 101 (به ترتیب \fBGID_MIN\fR\-1) است\&. .RE .PP \fBSYS_UID_MAX\fR (عدد)، \fBSYS_UID_MIN\fR (عدد) .RS 4 محدوده شناسه‌های کاربر مورد استفاده برای ایجاد کاربران سیستمی توسط \fBuseradd\fR یا \fBnewusers\fR\&. .sp مقدار پیش‌فرض برای \fBSYS_UID_MIN\fR (به ترتیب \fBSYS_UID_MAX\fR) برابر با 101 (به ترتیب \fBUID_MIN\fR\-1) است\&. .RE .PP \fBUID_MAX\fR (عدد)، \fBUID_MIN\fR (عدد) .RS 4 محدوده شناسه‌های کاربری مورد استفاده برای ایجاد کاربران عادی توسط \fBuseradd\fR یا \fBnewusers\fR\&. .sp مقدار پیش‌فرض برای \fBUID_MIN\fR (به ترتیب \fBUID_MAX\fR) برابر با 1000 (به ترتیب 60000) است\&. .RE .PP \fBUMASK\fR (عدد) .RS 4 ماسک ایجاد حالت فایل با این مقدار مقداردهی اولیه می‌شود\&. در صورت عدم تعیین، ماسک به 022 مقداردهی اولیه خواهد شد\&. .sp دستورات \fBuseradd\fR و \fBnewusers\fR در صورتی که \fBHOME_MODE\fR تنظیم نشده باشد، از این ماسک برای تنظیم حالت دسترسی دایرکتوری خانگی که ایجاد می‌کنند استفاده می‌نمایند\&. .sp همچنین توسط \fBpam_umask\fR به عنوان مقدار پیش‌فرض umask استفاده می‌شود\&. .RE .SH "فایل‌ها (FILES)" .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 پیکربندی مجموعه ابزار گذرواژه Shadow\&. .RE .PP /etc/pam\&.d/newusers .RS 4 پیکربندی PAM برای \fBnewusers\fR\&. .RE .PP /etc/subgid .RS 4 شناسه‌های گروه زیرمجموعه برای هر کاربر\&. .RE .PP /etc/subuid .RS 4 شناسه‌های کاربری زیرمجموعه برای هر کاربر\&. .RE .SH "همچنین ببینید (SEE ALSO)" .PP \fBlogin.defs\fR(5)، \fBpasswd\fR(1)، \fBsubgid\fR(5)، \fBsubuid\fR(5)، \fBuseradd\fR(8)\&.