'\" t .\" Title: pam_namespace .\" Author: [بخش "نویسندگان" را ببینید] .\" Generator: DocBook XSL Stylesheets v1.79.2 .\" Date: 01/26/2026 .\" Manual: Linux-PAM Manual .\" Source: Linux-PAM .\" Language: Persian .\" .TH "PAM_NAMESPACE" "8" "01/26/2026" "Linux\-PAM" "Linux\-PAM Manual" .\" ----------------------------------------------------------------- .\" * 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)" pam_namespace \- ماژول PAM برای پیکربندی فضای‌نام یک نشست .SH "خلاصه دستور (SYNOPSIS)" .HP \w'\fBpam_namespace\&.so\fR\ 'u \fBpam_namespace\&.so\fR [debug] [unmnt_remnt] [unmnt_only] [require_selinux] [gen_hash] [ignore_config_error] [ignore_instance_parent_mode] [unmount_on_close] [use_current_context] [use_default_context] [mount_private] .SH "توضیحات (DESCRIPTION)" .PP ماژول PAM با نام pam_namespace یک فضای‌نام (namespace) اختصاصی را برای یک نشست همراه با دایرکتوری‌های چندنمونه‌ای (polyinstantiated) برپا می‌کند\&. یک دایرکتوری چندنمونه‌ای، نمونهٔ متفاوتی از خود را بر اساس نام کاربری، یا در صورت استفاده از SELinux، بر اساس نام کاربری، بافت امنیتی (security context) یا هر دو ارائه می‌دهد\&. اگر یک اسکریپت اجرایی /etc/security/namespace\&.init وجود داشته باشد، برای مقداردهی اولیهٔ دایرکتوری نمونه پس از برپایی و متصل شدن (mount) آن روی دایرکتوری چندنمونه‌ای استفاده می‌شود\&. این اسکریپت مسیر دایرکتوری چندنمونه‌ای، مسیر دایرکتوری نمونه، پرچمی مبنی بر اینکه آیا دایرکتوری نمونه به‌تازگی ایجاد شده است یا خیر (۰ برای خیر، ۱ برای بله) و نام کاربری را به عنوان آرگومان‌های خود دریافت می‌کند\&. این اسکریپت با تمام امتیازات کاربر root اجرا می‌شود و دسترسی به دایرکتوری نمونه در این زمینه باید با احتیاط انجام شود، چرا که توسط کاربر فاقد امتیازی که دایرکتوری برای او ایجاد شده است کنترل می‌شود\&. .PP ماژول pam_namespace فضای‌نام نشست را از فضای‌نام والد جدا می‌سازد\&. هرگونه عملیات اتصال یا پیاده‌سازی (mount/unmount) انجام‌شده در فضای‌نام والد، مانند اتصال دستگاه‌ها، در فضای‌نام نشست منعکس نمی‌شود\&. برای انتشار رویدادهای اتصال/پیاده‌سازی انتخابی از فضای‌نام والد به فضای‌نام نشستِ جداشده، مدیر سیستم می‌تواند از ویژگی ویژهٔ زیردرخت مشترک (shared\-subtree) استفاده کند\&. برای اطلاعات بیشتر دربارهٔ ویژگی shared\-subtree، لطفاً به صفحهٔ راهنمای mount(8) و توضیحات shared\-subtree در http://lwn\&.net/Articles/159077 و http://lwn\&.net/Articles/159092 مراجعه کنید\&. .SH "گزینه‌ها (OPTIONS)" .PP debug .RS 4 اطلاعات اشکال‌زدایی (debug) زیادی با استفاده از syslog ثبت می‌شود\&. .RE .PP unmnt_remnt .RS 4 برای برنامه‌هایی مانند su و newrole، نشست ورود از قبل یک فضای‌نام چندنمونه‌ای برپا کرده است\&. برای این برنامه‌ها، چندنمونه‌سازی بر اساس شناسهٔ کاربری جدید یا بافت امنیتی جدید انجام می‌شود؛ با این حال این دستور ابتدا باید چندنمونه‌سازی انجام‌شده توسط ورود را لغو (undo) کند\&. این آرگومان به دستور اعلام می‌کند که پیش از اقدام به چندنمونه‌سازی جدید بر اساس شناسه/بافت جدید، ابتدا چندنمونه‌سازی قبلی را لغو کند\&. .RE .PP unmnt_only .RS 4 برای برنامه‌های قابل اعتمادی که می‌خواهند هرگونه اتصالات بایندی (bind mounts) موجود را لغو کرده و دایرکتوری‌های نمونه را خودشان پردازش کنند، این آرگومان به آن‌ها اجازه می‌دهد دایرکتوری‌های نمونهٔ متصل‌شدهٔ فعلی را پیاده (unmount) کنند\&. .RE .PP require_selinux .RS 4 اگر selinux فعال نباشد، وضعیت شکست بازمی‌گرداند\&. .RE .PP gen_hash .RS 4 به‌جای استفاده از رشتهٔ بافت امنیتی برای نام نمونه، هش md5 آن را تولید کرده و استفاده می‌کند\&. .RE .PP ignore_config_error .RS 4 اگر خطی در فایل پیکربندی مربوط به یک دایرکتوری چندنمونه‌ای دارای خطای قالب‌بندی باشد، از آن خط صرف‌نظر کرده و خط بعدی را پردازش می‌کند\&. بدون این گزینه، pam یک خطا به برنامهٔ فراخوان بازمی‌گرداند که منجر به خاتمه یافتن نشست می‌شود\&. .RE .PP ignore_instance_parent_mode .RS 4 دایرکتوری‌های والد نمونه به‌طور پیش‌فرض انتظار می‌رود حالت دسترسی سخت‌گیرانهٔ 000 را داشته باشند\&. با استفاده از این گزینه، مدیر سیستم می‌تواند حالت والد نمونه را نادیده بگیرد\&. این گزینه باید با احتیاط استفاده شود، چرا که اهداف امنیتی و ایزولاسیون مکانیسم چندنمونه‌سازی را تضعیف می‌کند\&. .RE .PP unmount_on_close .RS 4 دایرکتوری‌های چندنمونه‌ای را به‌طور صریح پیاده (unmount) می‌کند به‌جای اینکه به نابودی خودکار فضای‌نام پس از خروج آخرین فرایند در آن تکیه کند\&. این گزینه فقط زمانی باید استفاده شود که از راه‌های دیگر اطمینان حاصل شده باشد که هیچ فرایندی پس از بسته‌شدن نشست در فضای‌نام اختصاصی باقی نمی‌ماند\&. همچنین فقط زمانی مفید است که چندین فراخوانی متوالی pam session از یک فرایند انجام شود\&. .RE .PP use_current_context .RS 4 برای سرویس‌هایی مفید است که بافت SELinux را با فراخوانی setexeccon تغییر نمی‌دهند\&. ماژول از بافت SELinux فعلی فرایند فراخوان برای چندنمونه‌سازی سطح و بافت (level و context) استفاده خواهد کرد\&. .RE .PP use_default_context .RS 4 برای سرویس‌هایی مفید است که از pam_selinux برای تغییر بافت SELinux با فراخوانی setexeccon استفاده نمی‌کنند\&. ماژول از بافت SELinux پیش‌فرض کاربر برای چندنمونه‌سازی سطح و بافت (level و context) استفاده خواهد کرد\&. .RE .PP mount_private .RS 4 این گزینه می‌تواند در سیستم‌هایی استفاده شود که نقطه اتصال / یا زیراتصالات آن به اشتراک گذاشته شده‌اند (برای مثال با دستور \fBmount \-\-make\-rshared /\fR)\&. ماژول کل درخت دایرکتوری را علامت‌گذاری می‌کند تا هرگونه عملیات اتصال و پیاده‌سازی در فضای‌نام چندنمونه‌سازی به صورت خصوصی باشد\&. معمولاً pam_namespace تلاش می‌کند تا نقطه اتصال اشتراکی / را تشخیص داده و دایرکتوری‌های چندنمونه‌ای را به‌طور خودکار خصوصی کند\&. این گزینه فقط زمانی باید استفاده شود که تنها یک زیردرخت به اشتراک گذاشته شده باشد و / اشتراکی نباشد\&. .sp توجه داشته باشید که اتصالات و پیاده‌سازی‌های انجام‌شده در فضای‌نام خصوصی، در صورت استفاده از این گزینه یا هنگامی که نقطه اتصال اشتراکی / به‌طور خودکار تشخیص داده شود، تأثیری بر فضای‌نام والد نخواهند داشت\&. .RE .SH "انواع ماژول ارائه‌شده (MODULE TYPES PROVIDED)" .PP تنها نوع ماژول \fBsession\fR ارائه می‌شود\&. این ماژول نباید از فرایندهای چندنخی (multithreaded) فراخوانی شود\&. .SH "مقادیر بازگشتی (RETURN VALUES)" .PP PAM_SUCCESS .RS 4 برپایی فضای‌نام با موفقیت انجام شد\&. .RE .PP PAM_SERVICE_ERR .RS 4 هنگام برپایی فضای‌نام یک خطای غیرمنتظرهٔ سیستمی رخ داد\&. .RE .PP PAM_SESSION_ERR .RS 4 یک خطای غیرمنتظره در پیکربندی فضای‌نام رخ داد\&. .RE .SH "فایل‌ها (FILES)" .PP /etc/security/namespace\&.conf .RS 4 فایل اصلی پیکربندی .RE .PP /etc/security/namespace\&.d .RS 4 دایرکتوری فایل‌های پیکربندی اضافی .RE .PP /etc/security/namespace\&.init .RS 4 اسکریپت مقداردهی اولیه (init) برای دایرکتوری‌های نمونه .RE .SH "مثال‌ها (EXAMPLES)" .PP برای سرویس‌هایی () که به چندنمونه‌سازی نیاز دارند (به عنوان مثال login)، خط زیر را در /etc/pam\&.d/ به عنوان آخرین خط گروه session قرار دهید: .PP session required pam_namespace\&.so [arguments] .PP برای استفاده از چندنمونه‌سازی با مدیر نمایش گرافیکی gdm، لطفاً به مستندات gdm مراجعه کنید\&. .SH "همچنین ببینید (SEE ALSO)" .PP \fBnamespace.conf\fR(5), \fBpam.d\fR(5), \fBmount\fR(8), \fBpam\fR(8)\&. .SH "نویسندگان (AUTHORS)" .PP طرح برپایی فضای‌نام توسط Stephen Smalley، Janak Desai و Chad Sellers طراحی شد\&. ماژول PAM pam_namespace توسط Janak Desai ، Chad Sellers و Steve Grubb توسعه داده شد\&. بهبودهای بیشتر توسط Xavier Toth و Tomas Mraz انجام شده است\&.