| PAM_LISTFILE(8) | Linux-PAM Manual | PAM_LISTFILE(8) |
نام (NAME)
pam_listfile - رد یا مجاز کردن دسترسی به سرویسها بر اساس محتوای یک فایل دلخواه
خلاصه دستور (SYNOPSIS)
pam_listfile.so item=[tty|user|rhost|ruser|group|shell] sense=[allow|deny] file=/path/filename onerr=[succeed|fail] [apply=[user|@group]] [quiet]
توضیحات (DESCRIPTION)
ماژول pam_listfile یک ماژول PAM است که سازوکاری را برای رد یا مجاز کردن سرویسها بر اساس محتوای یک فایل دلخواه فراهم میکند.
این ماژول item مربوط به نوع مشخصشده را دریافت میکند -- user نام کاربری (یعنی PAM_USER) را مشخص میکند؛ tty نام ترمینالی را که درخواست از طریق آن ارسال شده است (در صورت وجود، PAM_TTY) مشخص میکند؛ rhost نام میزبان راه دور را که درخواست از آن ارسال شده است (در صورت وجود، PAM_RHOST) مشخص میکند؛ و ruser نام کاربر راه دور درخواستدهنده را (در صورت در دسترس بودن، PAM_RUSER) مشخص میکند -- و به دنبال نمونهای از آن مورد در file=filename میگردد. فایل filename شامل یک خط به ازای هر مورد فهرستشده است. اگر مورد در فایل پیدا شود، در صورتی که sense=allow باشد، مقدار PAM_SUCCESS بازگردانده میشود که باعث تأیید و موفقیت درخواست مجوز میگردد؛ در غیر این صورت، اگر sense=deny باشد، مقدار PAM_AUTH_ERR بازگردانده شده و باعث رد درخواست مجوز میشود.
اگر خطایی رخ دهد (به عنوان مثال، اگر filename وجود نداشته باشد، یا یک آرگومان با ساختار نامعتبر ارائه شده باشد)، در صورتی که onerr=succeed تنظیم شده باشد، مقدار PAM_SUCCESS بازگردانده میشود؛ در غیر این صورت اگر onerr=fail باشد، بسته به شرایط، PAM_AUTH_ERR یا PAM_SERVICE_ERR بازگردانده خواهد شد.
یک آرگومان اضافی، یعنی apply=، میتواند برای محدود کردن اعمال موارد بالا به یک کاربر خاص (apply=username) یا یک گروه مشخص (apply=@groupname) استفاده شود. این محدودیت اضافی تنها زمانی معنادار است که همراه با موارد tty، rhost و shell به کار گرفته شود.
به جز این مورد آخر، تمامی آرگومانها باید به طور صریح مشخص شوند؛ روی هیچ رفتار پیشفرضی حساب نکنید.
هیچ اعتبارنامهای توسط این ماژول اعطا نمیشود.
گزینهها (OPTIONS)
item=[tty|user|rhost|ruser|group|shell]
sense=[allow|deny]
file=/path/filename
onerr=[succeed|fail]
apply=[user|@group]
quiet
انواع ماژول ارائهشده (MODULE TYPES PROVIDED)
تمام انواع ماژول (auth، account، password و session) پشتیبانی میشوند.
مقادیر بازگشتی (RETURN VALUES)
PAM_AUTH_ERR
PAM_BUF_ERR
PAM_IGNORE
PAM_SERVICE_ERR
PAM_SUCCESS
مثالها (EXAMPLES)
احراز هویت سنتی 'ftpusers' را میتوان با قرار دادن این مدخل در /etc/pam.d/ftpd پیادهسازی کرد:
#
# deny ftp-access to users listed in the /etc/ftpusers file
#
auth required pam_listfile.so \
onerr=succeed item=user sense=deny file=/etc/ftpusers
توجه داشته باشید کاربرانی که در فایل /etc/ftpusers فهرست شدهاند (بر خلاف انتظار اولیه) اجازه دسترسی به سرویس ftp را نخواهند داشت.
برای اینکه امکان ورود تنها به کاربران خاصی داده شود، میتوانید از مدخلی مانند زیر در /etc/pam.d/login استفاده کنید:
#
# permit login to users listed in /etc/loginusers
#
auth required pam_listfile.so \
onerr=fail item=user sense=allow file=/etc/loginusers
برای کارکرد درست این مثال، تمام کاربرانی که مجاز به استفاده از سرویس ورود (login) هستند باید در فایل /etc/loginusers فهرست شوند. مگر اینکه صریحاً قصد داشته باشید دسترسی root را مسدود کنید، مطمئن شوید که هنگام انجام این کار، راهی برای ورود root باقی میگذارید؛ چه با قرار دادن نام root در /etc/loginusers و چه با فهرست کردن کاربری که بتواند با su به حساب کاربری root تغییر وضعیت دهد.
همچنین ببینید (SEE ALSO)
نویسندگان (AUTHORS)
ماژول pam_listfile توسط Michael K. Johnson <johnsonm@redhat.com> و Elliot Lee <sopwith@cuc.edu> نوشته شده است.
| 01/26/2026 | Linux-PAM |