'\" t .\" Title: pam_listfile .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.79.2 .\" Date: 01/26/2026 .\" Manual: Linux-PAM Manual .\" Source: Linux-PAM .\" Language: Persian .\" .TH "PAM_LISTFILE" "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_listfile \- رد یا مجاز کردن دسترسی به سرویس‌ها بر اساس محتوای یک فایل دلخواه .SH "خلاصه دستور (SYNOPSIS)" .HP \w'\fBpam_listfile\&.so\fR\ 'u \fBpam_listfile\&.so\fR item=[tty|user|rhost|ruser|group|shell] sense=[allow|deny] file=\fI/path/filename\fR onerr=[succeed|fail] [apply=[\fIuser\fR|\fI@group\fR]] [quiet] .SH "توضیحات (DESCRIPTION)" .PP ماژول pam_listfile یک ماژول PAM است که سازوکاری را برای رد یا مجاز کردن سرویس‌ها بر اساس محتوای یک فایل دلخواه فراهم می‌کند\&. .PP این ماژول \fBitem\fR مربوط به نوع مشخص‌شده را دریافت می‌کند \-\- \fIuser\fR نام کاربری (یعنی \fIPAM_USER\fR) را مشخص می‌کند؛ \fItty\fR نام ترمینالی را که درخواست از طریق آن ارسال شده است (در صورت وجود، \fIPAM_TTY\fR) مشخص می‌کند؛ \fIrhost\fR نام میزبان راه دور را که درخواست از آن ارسال شده است (در صورت وجود، \fIPAM_RHOST\fR) مشخص می‌کند؛ و \fIruser\fR نام کاربر راه دور درخواست‌دهنده را (در صورت در دسترس بودن، \fIPAM_RUSER\fR) مشخص می‌کند \-\- و به دنبال نمونه‌ای از آن مورد در \fBfile=\fR\fB\fIfilename\fR\fR می‌گردد\&. فایل filename شامل یک خط به ازای هر مورد فهرست‌شده است\&. اگر مورد در فایل پیدا شود، در صورتی که \fBsense=allow\fR باشد، مقدار \fIPAM_SUCCESS\fR بازگردانده می‌شود که باعث تأیید و موفقیت درخواست مجوز می‌گردد؛ در غیر این صورت، اگر \fBsense=deny\fR باشد، مقدار \fIPAM_AUTH_ERR\fR بازگردانده شده و باعث رد درخواست مجوز می‌شود\&. .PP اگر خطایی رخ دهد (به عنوان مثال، اگر filename وجود نداشته باشد، یا یک آرگومان با ساختار نامعتبر ارائه شده باشد)، در صورتی که \fBonerr=succeed\fR تنظیم شده باشد، مقدار \fIPAM_SUCCESS\fR بازگردانده می‌شود؛ در غیر این صورت اگر \fBonerr=fail\fR باشد، بسته به شرایط، \fIPAM_AUTH_ERR\fR یا \fIPAM_SERVICE_ERR\fR بازگردانده خواهد شد\&. .PP یک آرگومان اضافی، یعنی \fBapply=\fR، می‌تواند برای محدود کردن اعمال موارد بالا به یک کاربر خاص (\fBapply=\fR\fB\fIusername\fR\fR) یا یک گروه مشخص (\fBapply=\fR\fB\fI@groupname\fR\fR) استفاده شود\&. این محدودیت اضافی تنها زمانی معنادار است که همراه با موارد \fItty\fR، \fIrhost\fR و \fIshell\fR به کار گرفته شود\&. .PP به جز این مورد آخر، تمامی آرگومان‌ها باید به طور صریح مشخص شوند؛ روی هیچ رفتار پیش‌فرضی حساب نکنید\&. .PP هیچ اعتبارنامه‌ای توسط این ماژول اعطا نمی‌شود\&. .SH "گزینه‌ها (OPTIONS)" .PP .PP item=[tty|user|rhost|ruser|group|shell] .RS 4 آنچه در فایل فهرست شده است و باید بررسی شود\&. .RE .PP sense=[allow|deny] .RS 4 عملی که در صورت یافتن مورد در فایل باید انجام شود\&. اگر مورد در فایل یافت \fBنشود\fR، عمل معکوس آن درخواست می‌شود\&. .RE .PP file=/path/filename .RS 4 فایلی که در هر خط آن یک مورد قرار دارد\&. این فایل باید یک فایل معمولی (plain file) باشد و نباید برای همگان قابل نوشتن (world writable) باشد\&. .RE .PP onerr=[succeed|fail] .RS 4 اقدامی که در صورت بروز شرایط غیرعادی (مانند عدم امکان باز کردن فایل) باید انجام گیرد\&. .RE .PP apply=[user|@group] .RS 4 محدود کردن رده کاربری که این محدودیت بر آن‌ها اعمال می‌شود\&. توجه داشته باشید که این گزینه برای \fBitem=[user|ruser|group]\fR بی‌معنی است، اما برای \fBitem=[tty|rhost|shell]\fR دارای کاربرد و معنا است\&. .RE .PP quiet .RS 4 عدم ثبت امتناع از ارائه سرویس یا گم‌شدن فایل‌های فهرست به عنوان خطاهایی که نیاز به ثبت در گزارش (لاگ) دارند\&. .RE .SH "انواع ماژول ارائه‌شده (MODULE TYPES PROVIDED)" .PP تمام انواع ماژول (\fBauth\fR، \fBaccount\fR، \fBpassword\fR و \fBsession\fR) پشتیبانی می‌شوند\&. .SH "مقادیر بازگشتی (RETURN VALUES)" .PP .PP PAM_AUTH_ERR .RS 4 شکست در احراز هویت\&. .RE .PP PAM_BUF_ERR .RS 4 خطای بافر حافظه\&. .RE .PP PAM_IGNORE .RS 4 قاعده به گزینه \fBapply\fR اعمال نمی‌شود\&. .RE .PP PAM_SERVICE_ERR .RS 4 خطا در ماژول سرویس\&. .RE .PP PAM_SUCCESS .RS 4 موفقیت\&. .RE .SH "مثال‌ها (EXAMPLES)" .PP احراز هویت سنتی \*(Aqftpusers\*(Aq را می‌توان با قرار دادن این مدخل در /etc/pam\&.d/ftpd پیاده‌سازی کرد: .sp .if n \{\ .RS 4 .\} .nf # # deny ftp\-access to users listed in the /etc/ftpusers file # auth required pam_listfile\&.so \e onerr=succeed item=user sense=deny file=/etc/ftpusers .fi .if n \{\ .RE .\} .sp توجه داشته باشید کاربرانی که در فایل /etc/ftpusers فهرست شده‌اند (بر خلاف انتظار اولیه) اجازه دسترسی به سرویس ftp را \fIنخواهند داشت\fR\&. .PP برای اینکه امکان ورود تنها به کاربران خاصی داده شود، می‌توانید از مدخلی مانند زیر در /etc/pam\&.d/login استفاده کنید: .sp .if n \{\ .RS 4 .\} .nf # # permit login to users listed in /etc/loginusers # auth required pam_listfile\&.so \e onerr=fail item=user sense=allow file=/etc/loginusers .fi .if n \{\ .RE .\} .sp برای کارکرد درست این مثال، تمام کاربرانی که مجاز به استفاده از سرویس ورود (login) هستند باید در فایل /etc/loginusers فهرست شوند\&. مگر اینکه صریحاً قصد داشته باشید دسترسی root را مسدود کنید، مطمئن شوید که هنگام انجام این کار، راهی برای ورود root باقی می‌گذارید؛ چه با قرار دادن نام root در /etc/loginusers و چه با فهرست کردن کاربری که بتواند با \fIsu\fR به حساب کاربری root تغییر وضعیت دهد\&. .SH "همچنین ببینید (SEE ALSO)" .PP \fBpam.conf\fR(5), \fBpam.d\fR(5), \fBpam\fR(8) .SH "نویسندگان (AUTHORS)" .PP ماژول pam_listfile توسط Michael K\&. Johnson و Elliot Lee نوشته شده است\&.