PAM_FILTER(8) Linux-PAM Manual PAM_FILTER(8)

pam_filter - ماژول PAM برای فیلتر کردن جریان داده‌های ورودی/خروجی جلسه

pam_filter.so [debug] [new_term] [non_term] run1|run2 filter [...]

این ماژول به عنوان بستری برای دسترسی به تمام داده‌های ورودی/خروجی که میان کاربر و برنامه ردوبدل می‌شوند در نظر گرفته شده است. این ماژول تنها برای برنامه‌های مبتنی بر tty و (stdin/stdout) مناسب است.

این ماژول برای کارکرد خود به نصب بودن filters (فیلترها) روی سیستم نیاز دارد. تک فیلتر ارائه‌شده همراه با این ماژول، صرفاً حروف بزرگ و کوچک را در جریان‌های ورودی و خروجی جابه‌جا می‌کند. (این کار می‌تواند بسیار آزاردهنده باشد و با ویرایشگرهای مبتنی بر termcap سازگاری خوبی ندارد).

هر مؤلفه از ماژول پتانسیل فراخوانی فیلتر موردنظر را دارد. فیلتر همواره با execv(2) و با سطح دسترسی برنامهٔ فراخوان اجرا می‌شود و not (نه) با دسترسی کاربر. به همین دلیل معمولاً کاربر نمی‌تواند آن را بدون بستن جلسهٔ (نشست) خود متوقف کند.

debug

اطلاعات اشکال‌زدایی را چاپ می‌کند.

new_term

اقدام پیش‌فرض فیلتر این است که مورد PAM_TTY را جهت مشخص کردن پایانه‌ای که کاربر برای اتصال به برنامه استفاده می‌کند تنظیم کند. این آرگومان مشخص می‌کند که فیلتر باید PAM_TTY را روی شبه‌پایانهٔ (pseudo-terminal) فیلترشده تنظیم کند.

non_term

برای تنظیم مورد PAM_TTY تلاش نکن.

runX

برای اینکه ماژول بتواند فیلتری را فراخوانی کند، باید بداند چه زمانی آن را اجرا کند. این آرگومان برای اعلام زمان انجام این کار به فیلتر الزامی است.

مقدارهای مجاز برای X شامل 1 و 2 هستند. این مقادیر زمان دقیق اجرای فیلتر را مشخص می‌کنند. برای درک این مفهوم، مطالعهٔ صفحه راهنمای pam(3) مفید خواهد بود. اساساً برای هر گروه مدیریتی حداکثر دو روش برای فراخوانی توابع ماژول وجود دارد. در مورد مؤلفه‌های authentication و session در واقع دو تابع جداگانه وجود دارد. در مورد احراز هویت (authentication)، این توابع pam_authenticate(3) و pam_setcred(3) هستند؛ در اینجا run1 به معنای اجرای فیلتر از تابع pam_authenticate و run2 به معنای اجرای فیلتر از pam_setcred است. در مورد ماژول‌های نشست (session)، مقدار run1 بیانگر فراخوانی فیلتر در مرحلهٔ pam_open_session(3) است و run2 برای pam_close_session(3).

در مورد مؤلفهٔ حساب کاربری (account)، می‌توان از run1 یا run2 استفاده کرد.

در مورد مؤلفهٔ گذرواژه (password)، از run1 برای نشان دادن اجرای فیلتر در نخستین نوبت pam_chauthtok(3) (مرحلهٔ PAM_PRELIM_CHECK) و از run2 برای نشان دادن اجرای فیلتر در نوبت دوم (مرحلهٔ PAM_UPDATE_AUTHTOK) استفاده می‌شود.

filter

مسیر کامل پروندهٔ فیلتر برای اجرا و هرگونه آرگومان‌های خط فرمانی که فیلتر ممکن است انتظار داشته باشد.

تمام انواع ماژول (auth، account، password و session) ارائه شده‌اند.

PAM_SUCCESS

فیلتر جدید با موفقیت تنظیم شد.

PAM_ABORT

خطای بحرانی، لغو فوری.

خط زیر را به /etc/pam.d/login اضافه کنید تا نحوهٔ پیکربندی login برای جابه‌جا کردن حروف بزرگ و کوچک پس از ورود کاربر را مشاهده کنید:

session required pam_filter.so run1 /lib/security/pam_filter/upperLOWER

pam.conf(5)، pam.d(5)، pam(8)

ماژول pam_filter توسط Andrew G. Morgan <morgan@kernel.org> نوشته شده است.

01/26/2026 Linux-PAM