PAM_ENV(8) راهنمای Linux-PAM PAM_ENV(8)

pam_env - ماژول PAM برای تنظیم و حذف متغیرهای محیطی

pam_env.so [debug] [conffile=conf-file] [envfile=env-file] [readenv=0|1] [user_envfile=env-file] [user_readenv=0|1]

ماژول PAM با نام pam_env امکان تنظیم یا حذف متغیرهای محیطی را فراهم می‌کند. استفاده از متغیرهای محیطی که پیش‌تر تنظیم شده‌اند و همچنین PAM_ITEMهایی مانند PAM_RHOST پشتیبانی می‌شود.

به‌طور پیش‌فرض قوانین مربوط به تنظیم و حذف متغیرها از پروندهٔ پیکربندی /etc/security/pam_env.conf خوانده می‌شود. یک پروندهٔ جایگزین می‌تواند با گزینهٔ conffile مشخص شود.

در مرحلهٔ دوم، پرونده‌ای (به‌طور پیش‌فرض /etc/environment) شامل جفت‌های سادهٔ KEY=VAL در خطوط جداگانه خوانده خواهد شد. با گزینهٔ envfile می‌توان یک پروندهٔ جایگزین را مشخص کرد و با گزینهٔ readenv می‌توان این فرایند را به‌طور کامل غیرفعال نمود.

در مرحلهٔ سوم، یک پروندهٔ پیکربندی کاربری (به‌طور پیش‌فرض $HOME/.pam_environment) خوانده می‌شود. پروندهٔ پیش‌فرض را می‌توان با گزینهٔ user_envfile تغییر داد و خواندن آن را با گزینهٔ user_readenv فعال یا غیرفعال کرد.

از آن‌جا که تنظیم متغیرهای محیطی PAM می‌تواند بر سایر ماژول‌ها عوارض جانبی داشته باشد، این ماژول باید آخرین ماژول در پشته باشد.

این ماژول تنها در صورتی اجرا می‌شود که برنامهٔ اصلی pam_setcred(3) یا pam_open_session(3) را فراخوانی کند. اگر ماژول توسط pam_authenticate(3) فراخوانی شود، هیچ کاری انجام نمی‌دهد و PAM_IGNORE را برمی‌گرداند.

conffile=/path/to/pam_env.conf

مشخص کردن یک پروندهٔ پیکربندی جایگزین با ساختار pam_env.conf برای لغو پیش‌فرض. این گزینه زمانی که سرویس‌های مختلف به محیط‌های متفاوتی نیاز دارند می‌تواند مفید باشد.

debug

اطلاعات اشکال‌زدایی فراوانی با syslog(3) ثبت می‌شود.

envfile=/path/to/environment

مشخص کردن یک پروندهٔ محیطی جایگزین برای لغو پیش‌فرض. نحو این پرونده به‌صورت جفت‌های سادهٔ KEY=VAL در خطوط جداگانه است. دستور export می‌تواند برای سازگاری با bash مشخص شود، اما نادیده گرفته خواهد شد. این گزینه زمانی که سرویس‌های مختلف به محیط‌های متفاوتی نیاز دارند می‌تواند مفید باشد.

readenv=0|1

خواندن پروندهٔ مشخص‌شده توسط envfile را فعال یا غیرفعال می‌کند (۰ خاموش، ۱ روشن). به‌طور پیش‌فرض این گزینه فعال است.

user_envfile=filename

مشخص کردن یک پروندهٔ .pam_environment جایگزین برای لغو پیش‌فرض. نحو آن همانند پروندهٔ /etc/security/pam_env.conf است. نام پرونده نسبت به پوشهٔ خانگی کاربر در نظر گرفته می‌شود. این گزینه زمانی که سرویس‌های مختلف به محیط‌های متفاوتی نیاز دارند می‌تواند مفید باشد.

user_readenv=0|1

خواندن پروندهٔ محیطی مختص به کاربر را فعال یا غیرفعال می‌کند. ۰ خاموش، ۱ روشن است. به‌طور پیش‌فرض این گزینه غیرفعال است، زیرا متغیرهای محیطی تعیین‌شده توسط کاربر در محیط PAM ممکن است رفتار ماژول‌های بعدی در پشته را بدون رضایت مدیر سیستم تغییر دهند.

به دلیل مسائل امنیتی، این قابلیت از نسخهٔ 1.5.0 منسوخ شده است و در آینده به‌طور کامل حذف خواهد شد.

انواع ماژول‌های auth و session ارائه می‌شوند.

PAM_ABORT

تمام داده‌ها یا گزینه‌های مربوطه قابل دریافت نبودند.

PAM_BUF_ERR

خطای بافر حافظه.

PAM_IGNORE

هیچ پروندهٔ pam_env.conf یا پروندهٔ محیطی یافت نشد، یا ماژول توسط pam_authenticate(3) فراخوانی شده است.

PAM_SUCCESS

متغیرهای محیطی با موفقیت تنظیم شدند.

/etc/security/pam_env.conf

پروندهٔ پیکربندی پیش‌فرض

/etc/environment

پروندهٔ محیطی پیش‌فرض

$HOME/.pam_environment

پروندهٔ محیطی مختص کاربر

pam_env.conf(5), pam.d(5), pam(8), environ(7).

pam_env توسط Dave Kinchlea <kinch@kinch.ark.com> نوشته شده است.

01/26/2026 Linux-PAM