'\" t .\" Title: nsenter .\" Author: [see the "AUTHOR(S)" section] .\" Generator: Asciidoctor 2.0.26 .\" Date: 2026-09-02 .\" Manual: User Commands .\" Source: util-linux 2.42.3 .\" Language: Persian .\" .TH "NSENTER" "1" "2026-09-02" "util\-linux 2.42.3" "دستورات کاربر" .ie \n(.g .ds Aq \(aq .el .ds Aq ' .ss \n[.ss] 0 .nh .ad l .de URL \fI\\$2\fP <\\$1>\\$3 .. .als MTO URL .if \n[.g] \{\ . mso www.tmac . am URL . ad l . . . am MTO . ad l . . . LINKSTYLE blue R < > .\} .SH "نام (NAME)" nsenter \- اجرای برنامه در فضاهای نام (Namespaces) سایر پردازه‌ها .SH "خلاصه دستور (SYNOPSIS)" .sp \fBnsenter\fP [options] [\fIprogram\fP [\fIarguments\fP]] .SH "توضیحات (DESCRIPTION)" .sp دستور \fBnsenter\fP برنامه \fIprogram\fP را در فضای(های) نام مشخص‌شده در گزینه‌های خط فرمان (توصیف‌شده در ادامه) اجرا می‌کند. اگر \fIprogram\fP داده نشده باشد، "${SHELL}" اجرا می‌شود (پیش‌فرض: \fI/bin/sh\fP). .sp فضاهای نام قابل ورود عبارتند از: .sp \fBفضای نام سوارکردن (mount namespace)\fP .RS 4 سوار کردن و پیاده کردن سیستم‌های فایل روی سایر بخش‌های سیستم تأثیری نخواهد گذاشت، به جز سیستم‌های فایلی که صراحتاً به عنوان اشتراکی علامت‌گذاری شده‌اند (با \fBmount \-\-make\-shared\fP؛ پرچم \fBshared\fP را در \fI/proc/self/mountinfo\fP ببینید). برای جزئیات بیشتر، \fBmount_namespaces\fP(7) و بحث درباره پرچم \fBCLONE_NEWNS\fP در \fBclone\fP(2) را ببینید. .RE .sp \fBفضای نام UTS (UTS namespace)\fP .RS 4 تنظیم نام میزبان (hostname) یا نام دامنه (domainname) روی سایر بخش‌های سیستم تأثیری نخواهد گذاشت. برای جزئیات بیشتر، \fButs_namespaces\fP(7) را ببینید. .RE .sp \fBفضای نام IPC (IPC namespace)\fP .RS 4 پردازه دارای فضای نام مستقلی برای صف‌های پیام POSIX و همچنین صف‌های پیام System V، مجموعه‌های سمافور و بخش‌های حافظه اشتراکی خواهد بود. برای جزئیات بیشتر، \fBipc_namespaces\fP(7) را ببینید. .RE .sp \fBفضای نام شبکه (network namespace)\fP .RS 4 پردازه دارای پشته‌های مستقل IPv4 و IPv6، جدول‌های مسیریابی IP، قوانین دیوار آتش (firewall)، درخت‌های دایرکتوری \fI/proc/net\fP و \fI/sys/class/net\fP، سوکت‌ها و غیره خواهد بود. برای جزئیات بیشتر، \fBnetwork_namespaces\fP(7) را ببینید. .RE .sp \fBفضای نام PID (PID namespace)\fP .RS 4 فرزندان مجموعه‌ای از نگاشت‌های PID به پردازه جدا از پردازه \fBnsenter\fP خواهند داشت. به طور پیش‌فرض در صورت تغییر فضای نام PID، دستور \fBnsenter\fP اقدام به fork می‌کند تا برنامه جدید و فرزندانش در یک فضای نام PID یکسان سهیم بوده و برای یکدیگر قابل مشاهده باشند. در صورت استفاده از \fB\-\-no\-fork\fP، برنامه جدید بدون fork کردن اجرا (exec) خواهد شد. برای جزئیات بیشتر، \fBpid_namespaces\fP(7) را ببینید. .RE .sp \fBفضای نام کاربر (user namespace)\fP .RS 4 پردازه مجموعه‌ای متمایز از UIDها، GIDها و قابلیت‌ها (capabilities) خواهد داشت. برای جزئیات بیشتر، \fBuser_namespaces\fP(7) را ببینید. .RE .sp \fBفضای نام cgroup (cgroup namespace)\fP .RS 4 پردازه نمایی مجازی‌سازی‌شده از \fI/proc/self/cgroup\fP خواهد داشت و سوارکردن‌های cgroup جدید از ریشه cgroup فضای نام سرچشمه خواهند گرفت. برای جزئیات بیشتر، \fBcgroup_namespaces\fP(7) را ببینید. .RE .sp \fBفضای نام زمان (time namespace)\fP .RS 4 پردازه می‌تواند نمایی متمایز از \fBCLOCK_MONOTONIC\fP و/یا \fBCLOCK_BOOTTIME\fP داشته باشد که با استفاده از \fI/proc/self/timens_offsets\fP قابل تغییر است. برای جزئیات بیشتر، \fBtime_namespaces\fP(7) را ببینید. .RE .sp اگر می‌خواهید یک فضای نام جدید ایجاد کنید، از \fBunshare\fP(1) استفاده کنید. پس از ایجاد، می‌توانید با استفاده از \fBnsenter\fP برنامه‌ای را در آن اجرا کنید. .SH "گزینه‌ها (OPTIONS)" .sp بسیاری از گزینه‌های زیر که به فضاهای نام مربوط می‌شوند، یک آرگومان اختیاری \fIfile\fP می‌پذیرند. این آرگومان باید یکی از فایل‌های \fI/proc/[pid]/ns/*\fP توصیف‌شده در \fBnamespaces\fP(7) یا نام مسیر یک اتصال سوارکردن (bind mount) باشد که روی یکی از آن فایل‌ها ایجاد شده است. .sp \fB\-a\fP, \fB\-\-all\fP .RS 4 ورود به تمام فضاهای نام پردازه هدف با استفاده از مسیرهای پیش‌فرض فضای نام \fI/proc//ns/*\fP. مسیرهای پیش‌فرض فضاهای نام پردازه هدف را می‌توان با گزینه‌های مختص فضای نام بازنویسی کرد (به عنوان مثال، \fB\-\-all \-\-mount=\fP\fIpath\fP). .sp اگر فضای نام کاربر با فضای نام کاربر فعلی فراخوان‌کننده یکسان باشد، نادیده گرفته خواهد شد. این کار از بازپس‌گیری قابلیت‌ها (capabilities) توسط فراخوان‌کننده‌ای که آن‌ها را رها کرده است، از طریق فراخوانی \fBsetns\fP(2) جلوگیری می‌کند. برای جزئیات بیشتر به صفحه راهنما مراجعه کنید. .RE .sp \fB\-t\fP, \fB\-\-target\fP \fIPID\fP[\fB:\fP\fIinode\fP] .RS 4 مشخص کردن یک پردازه هدف برای دریافت زمینه‌ها (contexts) از آن. مسیرهای زمینه‌های مشخص‌شده توسط \fIPID\fP به ترتیب عبارتند از: .RS 3 .ll -.6i .sp \fI/proc/pid/ns/mnt\fP .RS 4 فضای نام سوارکردن .RE .sp \fI/proc/pid/ns/uts\fP .RS 4 فضای نام UTS .RE .sp \fI/proc/pid/ns/ipc\fP .RS 4 فضای نام IPC .RE .sp \fI/proc/pid/ns/net\fP .RS 4 فضای نام شبکه .RE .sp \fI/proc/pid/ns/pid\fP .RS 4 فضای نام PID .RE .sp \fI/proc/pid/ns/user\fP .RS 4 فضای نام کاربر .RE .sp \fI/proc/pid/ns/cgroup\fP .RS 4 فضای نام cgroup .RE .sp \fI/proc/pid/ns/time\fP .RS 4 فضای نام زمان .RE .sp \fI/proc/pid/root\fP .RS 4 دایرکتوری ریشه .RE .sp \fI/proc/pid/cwd\fP .RS 4 به ترتیب دایرکتوری کاری .RE .br .RE .ll .sp به صورت اختیاری، یک پردازه می‌تواند با آن قالب \fIPID\fP\fB:\fP\fIinode\fP آدرس‌دهی شود. مقدار \fIinode\fP توصیف‌کننده فایل (file descriptor) یکتای پردازه را مشخص می‌کند. برای بازیابی شماره inode یک پردازه می‌توانید از ابزار \fBgetino\fP(1) استفاده کنید. .RE .sp \fB\-m\fP, \fB\-\-mount\fP[\fB=\fP\fIfile\fP|\fB=:\fP\fInsid\fP] .RS 4 ورود به فضای نام سوارکردن. اگر هیچ آرگومانی مشخص نشود، به فضای نام سوارکردن پردازه هدف وارد می‌شود. اگر \fIfile\fP یا \fB:\fP\fInsid\fP مشخص شده باشد، به فضای نام سوارکردن مشخص‌شده توسط \fIfile\fP یا \fInsid\fP وارد می‌شود. .RE .sp \fB\-u\fP, \fB\-\-uts\fP[\fB=\fP\fIfile\fP|\fB=:\fP\fInsid\fP] .RS 4 ورود به فضای نام UTS. اگر هیچ آرگومانی مشخص نشود، به فضای نام UTS پردازه هدف وارد می‌شود. اگر \fIfile\fP یا \fB:\fP\fInsid\fP مشخص شده باشد، به فضای نام UTS مشخص‌شده توسط \fIfile\fP یا \fInsid\fP وارد می‌شود. .RE .sp \fB\-i\fP, \fB\-\-ipc\fP[\fB=\fP\fIfile\fP|\fB=:\fP\fInsid\fP] .RS 4 ورود به فضای نام IPC. اگر هیچ آرگومانی مشخص نشود، به فضای نام IPC پردازه هدف وارد می‌شود. اگر \fIfile\fP یا \fB:\fP\fInsid\fP مشخص شده باشد، به فضای نام IPC مشخص‌شده توسط \fIfile\fP یا \fInsid\fP وارد می‌شود. .RE .sp \fB\-n\fP, \fB\-\-net\fP[\fB=\fP\fIfile\fP|\fB=:\fP\fInsid\fP] .RS 4 ورود به فضای نام شبکه. اگر هیچ آرگومانی مشخص نشود، به فضای نام شبکه پردازه هدف وارد می‌شود. اگر \fIfile\fP یا \fB:\fP\fInsid\fP مشخص شده باشد، به فضای نام شبکه مشخص‌شده توسط \fIfile\fP یا \fInsid\fP وارد می‌شود. .RE .sp \fB\-N\fP, \fB\-\-net\-socket\fP \fIfd\fP .RS 4 ورود به فضای نام شبکه سوکت پردازه هدف. این گزینه نیازمند مشخص بودن پردازه \fB\-\-target\fP است. از لینوکس ۵.۶ به بعد پشتیبانی می‌شود. .RE .sp \fB\-p\fP, \fB\-\-pid\fP[\fB=\fP\fIfile\fP|\fB=:\fP\fInsid\fP] .RS 4 ورود به فضای نام PID. اگر هیچ آرگومانی مشخص نشود، به فضای نام PID پردازه هدف وارد می‌شود. اگر \fIfile\fP یا \fB:\fP\fInsid\fP مشخص شده باشد، به فضای نام PID مشخص‌شده توسط \fIfile\fP یا \fInsid\fP وارد می‌شود. .RE .sp \fB\-U\fP, \fB\-\-user\fP[\fB=\fP\fIfile\fP|\fB=:\fP\fInsid\fP] .RS 4 ورود به فضای نام کاربر. اگر هیچ آرگومانی مشخص نشود، به فضای نام کاربر پردازه هدف وارد می‌شود. اگر \fIfile\fP یا \fB:\fP\fInsid\fP مشخص شده باشد، به فضای نام کاربر مشخص‌شده توسط \fIfile\fP یا \fInsid\fP وارد می‌شود. همچنین گزینه‌های \fB\-\-setuid\fP و \fB\-\-setgid\fP را ببینید. .RE .sp \fB\-\-user\-parent\fP .RS 4 ورود به فضای نام والد کاربر. فضای نام والد کاربر از هر فضای نام فعال دیگری دریافت خواهد شد. اگر با گزینه \fB\-\-user\fP ترکیب شود، فضای نام والد کاربر از فضای نام کاربر دریافت شده و جایگزین آن خواهد شد. .RE .sp \fB\-C\fP, \fB\-\-cgroup\fP[\fB=\fP\fIfile\fP|\fB=:\fP\fInsid\fP] .RS 4 ورود به فضای نام cgroup. اگر هیچ آرگومانی مشخص نشود، به فضای نام cgroup پردازه هدف وارد می‌شود. اگر \fIfile\fP یا \fB:\fP\fInsid\fP مشخص شده باشد، به فضای نام cgroup مشخص‌شده توسط \fIfile\fP یا \fInsid\fP وارد می‌شود. .RE .sp \fB\-T\fP, \fB\-\-time\fP[\fB=\fP\fIfile\fP|\fB=:\fP\fInsid\fP] .RS 4 ورود به فضای نام زمان. اگر هیچ آرگومانی مشخص نشود، به فضای نام زمان پردازه هدف وارد می‌شود. اگر \fIfile\fP یا \fB:\fP\fInsid\fP مشخص شده باشد، به فضای نام زمان مشخص‌شده توسط \fIfile\fP یا \fInsid\fP وارد می‌شود. .RE .sp \fB\-G\fP, \fB\-\-setgid\fP \fIgid\fP .RS 4 تنظیم شناسه گروهی (GID) که در فضای نام واردشده استفاده خواهد شد و رها کردن گروه‌های تکمیلی (supplementary groups). دستور \fBnsenter\fP همواره GID را برای فضاهای نام کاربر تنظیم می‌کند که پیش‌فرض آن 0 است. اگر آرگومان "follow" مشخص شود، از GID پردازه هدف استفاده می‌شود. .RE .sp \fB\-S\fP, \fB\-\-setuid\fP \fIuid\fP .RS 4 تنظیم شناسه کاربری (UID) که در فضای نام واردشده استفاده خواهد شد. دستور \fBnsenter\fP همواره UID را برای فضاهای نام کاربر تنظیم می‌کند که پیش‌فرض آن 0 است. اگر آرگومان "follow" مشخص شود، از UID پردازه هدف استفاده می‌شود. .RE .sp \fB\-\-keep\-caps\fP .RS 4 هنگامی که گزینه \fB\-\-user\fP داده شده باشد، تضمین می‌کند که قابلیت‌های اعطاشده در فضای نام کاربر در پردازه فرزند حفظ شوند. .RE .sp \fB\-\-preserve\-credentials\fP .RS 4 هنگام ورود به فضای نام کاربر، UID و GID را تغییر نده. پیش‌فرض این است که گروه‌های تکمیلی رها شده و GID و UID روی 0 تنظیم شوند. .RE .sp \fB\-r\fP, \fB\-\-root\fP[\fB=\fP\fIdirectory\fP] .RS 4 تنظیم دایرکتوری ریشه. اگر هیچ دایرکتوری مشخص نشود، دایرکتوری ریشه روی دایرکتوری ریشه پردازه هدف تنظیم می‌شود. اگر دایرکتوری مشخص شود، دایرکتوری ریشه روی دایرکتوری مشخص‌شده تنظیم می‌شود. دایرکتوری \fIdirectory\fP مشخص‌شده قبل از جابجایی به فضاهای نام درخواستی باز می‌شود. .RE .sp \fB\-w\fP, \fB\-\-wd\fP[\fB=\fP\fIdirectory\fP] .RS 4 تنظیم دایرکتوری کاری. اگر هیچ دایرکتوری مشخص نشود، دایرکتوری کاری روی دایرکتوری کاری پردازه هدف تنظیم می‌شود. اگر دایرکتوری مشخص شود، دایرکتوری کاری روی دایرکتوری مشخص‌شده تنظیم می‌شود. دایرکتوری \fIdirectory\fP مشخص‌شده قبل از جابجایی به فضاهای نام درخواستی باز می‌شود، به این معنی که دایرکتوری مشخص‌شده به عنوان یک "تونل" به فضای نام فعلی عمل می‌کند. همچنین \fB\-\-wdns\fP را ببینید. .RE .sp \fB\-W\fP, \fB\-\-wdns\fP[\fB=\fP\fIdirectory\fP] .RS 4 تنظیم دایرکتوری کاری. دایرکتوری \fIdirectory\fP پس از جابجایی به فضاهای نام درخواستی و پس از فراخوانی \fBchroot\fP(2) باز می‌شود. گزینه‌های \fB\-\-wd\fP و \fB\-\-wdns\fP مانعة‌الجمع هستند. .RE .sp \fB\-e\fP, \fB\-\-env\fP .RS 4 انتقال متغیرهای محیطی از پردازه هدف به پردازه جدیدی که در حال ایجاد است. اگر این گزینه ارائه نشود، متغیرهای محیطی همانند فضای نام فعلی باقی خواهند ماند. .RE .sp \fB\-F\fP, \fB\-\-no\-fork\fP .RS 4 قبل از اجرای (exec) برنامه مشخص‌شده fork نکن. به طور پیش‌فرض، هنگام ورود به یک فضای نام PID، دستور \fBnsenter\fP قبل از فراخوانی \fBexec\fP اقدام به \fBfork\fP می‌کند تا تمام فرزندان نیز در فضای نام PID تازه‌واردشده قرار گیرند. .RE .sp \fB\-Z\fP, \fB\-\-follow\-context\fP .RS 4 تنظیم زمینه امنیتی SELinux مورد استفاده برای اجرای پردازه جدید بر اساس پردازه در حال اجرایی که توسط \fB\-\-target\fP PID مشخص شده است. (بسته util\-linux باید با پشتیبانی از SELinux کامپایل شده باشد، در غیر این صورت این گزینه در دسترس نخواهد بود.) .RE .sp \fB\-c\fP, \fB\-\-join\-cgroup\fP .RS 4 افزودن پردازه آغازشده به cgroup پردازه هدف. .RE .sp \fB\-h\fP, \fB\-\-help\fP .RS 4 نمایش متن راهنما و خروج. .RE .sp \fB\-V\fP, \fB\-\-version\fP .RS 4 نمایش نسخه و خروج. .RE .SH "نکات (NOTES)" .sp گزینه \fB\-\-user\-parent\fP به لینوکس ۴.۹ یا بالاتر نیاز دارد؛ هسته‌های قدیمی‌تر خطای «ioctl نامناسب برای دستگاه» (inappropriate ioctl for device) صادر می‌کنند. .sp مشخص کردن فضاهای نام بر اساس \fInsid\fP نیازمند لینوکس ۶.۱۹ یا بالاتر است. اگر نام \fIfile\fP فضای نام با دو نقطه (colon) شروع شود، برای رفع ابهام \fB./\fP را به ابتدای آن اضافه کنید. .SH "نویسندگان (AUTHORS)" .sp .MTO "biederm\(atxmission.com" "Eric Biederman" "," .MTO "kzak\(atredhat.com" "Karel Zak" "" .SH "همچنین ببینید (SEE ALSO)" .sp \fBunshare\fP(1), \fBlsns\fP(8), \fBclone\fP(2), \fBsetns\fP(2), \fBnamespaces\fP(7), \fBgetino\fP(1) .SH "گزارش باگ‌ها (REPORTING BUGS)" .sp برای گزارش باگ‌ها از \c .URL "https://github.com/util\-linux/util\-linux/issues" "ردیاب مشکلات" "." استفاده کنید. .SH "دسترس‌پذیری (AVAILABILITY)" .sp دستور \fBnsenter\fP بخشی از بسته util\-linux است که می‌توان آن را از \c .URL "https://www.kernel.org/pub/linux/utils/util\-linux" "آرشیو هسته لینوکس" "." دریافت کرد.