PAM_ENV.CONF(5) فایلهای پیکربندی PAM_ENV.CONF(5)

pam_env.conf - پرونده پیکربندی متغیرهای محیطی در pam_env

پرونده /etc/security/pam_env.conf متغیرهای محیطی پیشفرضی را که باید هنگام ورود کاربر به سیستم تنظیم یا پاک شوند، مشخص میکند. ماژول pam_env(8) هنگام ورود هر کاربر این پرونده را خوانده و متغیرهای محیطی را بر این اساس مقداردهی می‌کند.

هر خط با نام متغیر آغاز می‌شود، سپس برای هر متغیر دو گزینه وجود دارد: DEFAULT و OVERRIDE. گزینه DEFAULT به مدیر سیستم امکان می‌دهد مقدار متغیر را روی یک مقدار پیش‌فرض تنظیم کند؛ اگر مقداری تعیین نشود رشته خالی در نظر گرفته می‌شود. گزینه OVERRIDE به pam_env اعلام می‌کند که در صورت وجود مقدار، باید آن را جایگزین مقدار پیش‌فرض کند. در صورت عدم استفاده از OVERRIDE، مقدار "" فرض شده و هیچ جایگزینی انجام نمی‌شود.

VARIABLE [DEFAULT=[value]] [OVERRIDE=[value]]

متغیرهای محیطی (حتی در صورت عدم وجود) می‌توانند با ساختار ${string} در مقادیر استفاده شوند و متغیرهای PAM_ITEM (حتی در صورت عدم وجود) و همچنین HOME و SHELL می‌توانند با ساختار @{string} به کار روند. هر دو نویسه $ و @ را می‌توان با یک ممیز وارونه (بک‌اسلش) اسکیپ کرد تا به عنوان مقادیر حرفی استفاده شوند. مقادیر می‌توانند با "" محصور شوند، اما " اسکیپ‌شده پشتیبانی نمی‌شود. توجه داشته باشید که بسیاری از متغیرهای محیطی ممکن است در زمان فراخوانی این ماژول هنوز مقداردهی نشده باشند. برای نمونه، ${HOME} در مثال‌های زیر چندین بار به کار رفته است، اما بسیاری از برنامه‌های PAM در زمانی که به آن نیاز دارید آن را در دسترس قرار نمی‌دهند. متغیرهای ویژه @{HOME} و @{SHELL} بر اساس مدخل متناظر کاربر در پرونده passwd مقداردهی می‌شوند.

نویسه «#» در ابتدای خط (بدون فاصله در ابتدا) نشان‌دهنده خط توضیحات (کامنت) است.

پرونده /etc/environment متغیرهای محیطی را که باید تنظیم شوند تعیین می‌کند. این پرونده باید شامل جفت‌های ساده NAME=VALUE در خطوط جداگانه باشد. ماژول pam_env(8) این پرونده را پس از پرونده pam_env.conf می‌خواند.

این‌ها نمونه‌هایی از خطوطی هستند که می‌توان در /etc/security/pam_env.conf تعیین کرد:

تنظیم متغیر REMOTEHOST برای هر میزبانی که دوردست است، با مقدار پیش‌فرض "localhost":

REMOTEHOST     DEFAULT=localhost OVERRIDE=@{PAM_RHOST}

تنظیم متغیر DISPLAY در صورت معقول بودن:

DISPLAY        DEFAULT=${REMOTEHOST}:0.0 OVERRIDE=${DISPLAY}

چند متغیر ساده:

PAGER          DEFAULT=less
MANPAGER       DEFAULT=less
LESS           DEFAULT="M q e h15 z23 b80"
NNTPSERVER     DEFAULT=localhost
PATH           DEFAULT=${HOME}/bin:/usr/local/bin:/bin\
:/usr/bin:/usr/local/bin/X11:/usr/bin/X11
XDG_DATA_HOME  DEFAULT=@{HOME}/share/

نمونه‌هایی از متغیرهای اسکیپ‌شده جهت نمایش نحوه عملکرد:

DOLLAR         DEFAULT=\$
DOLLARDOLLAR   DEFAULT=        OVERRIDE=\$${DOLLAR}
DOLLARPLUS     DEFAULT=\${REMOTEHOST}${REMOTEHOST}
ATSIGN         DEFAULT=""      OVERRIDE=\@

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

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

مه ۲۰۲۵ Linux-PAM