NEWGIDMAP(1) دستورات کاربر NEWGIDMAP(1)

newgidmap - تنظیم نگاشت شناسههای گروه برای یک فضای نام کاربری

newgidmap pid gid lowergid count [gid lowergid count [ ... ]]

دستور newgidmap فایل /proc/[pid]/gid_map را بر اساس آرگومان‌های خط فرمان خود و GIDهای مجاز تنظیم می‌کند. تفویض Subgid را می‌توان از طریق /etc/subgid یا از طریق ماژول پیکربندی‌شده NSS subid مدیریت کرد. این گزینه‌ها ناسازگار با یکدیگر (mutually exclusive) هستند.

توجه داشته باشید که گروه ریشه (root) نیز از الزام داشتن یک مدخل معتبر در /etc/subgid مستثنی نیست.

پس از آرگومان pid، دستور newgidmap مجموعه‌هایی از ۳ عدد صحیح را انتظار دارد:

gid

شروع محدودهٔ GIDها در داخل فضای نام کاربری.

lowergid

شروع محدودهٔ GIDها در خارج از فضای نام کاربری.

count

طول محدوده‌ها (هم در داخل و هم در خارج از فضای نام کاربری).

دستور newgidmap پیش از تنظیم /proc/[pid]/gid_map بررسی و تأیید می‌کند که فراخواننده، مالک فرآیند مشخص‌شده توسط pid است و برای هر یک از مجموعه‌های بالا، تک‌تک GIDها در محدودهٔ [lowergid, lowergid+count) طبق /etc/subgid برای فراخواننده مجاز هستند.

توجه داشته باشید که newgidmap برای یک فرآیند معین تنها یک بار قابل استفاده است.

به‌جای شناسه فرآیند (pid) عددی، آرگومان نخست می‌تواند به صورت fd:N مشخص شود، که در آن عدد صحیح N شماره توصیف‌گر فایل (file descriptor) فرآیند فراخواننده برای دایرکتوری /proc/[pid] است. در این حالت، newgidmap از openat(2) برای باز کردن فایل gid_map در آن دایرکتوری استفاده می‌کند تا از شرایط مسابقه TOCTTOU در صورت خاتمه فرآیند و استفاده مجدد فوری از pid جلوگیری شود.

در حال حاضر هیچ گزینه‌ای برای دستور newgidmap وجود ندارد.

/etc/subgid

فهرست شناسه‌های گروه فرعی (subordinate group IDs) کاربر.

/proc/[pid]/gid_map

نگاشت GIDها بین فضاهای نام کاربری.

login.defs(5), newusers(8), subgid(5), useradd(8), userdel(8), usermod(8).

07/30/2026 shadow-utils 4.20.0