PAM_MATRIX(8)   PAM_MATRIX(8)

pam_matrix - ماژول آزمایشی PAM برای بازیابی موارد خاص ماژول در PAM

pam_matrix.so [...]

آزمایش برنامه‌های PAM اغلب نیازمند راه‌اندازی یک بک‌اند احراز هویت با کمترین زحمت ممکن است. ماژول pam_matrix امکان احراز هویت در برابر یک فایل متنی کلید-مقدار را که از طریق یک گزینه یا با یک متغیر محیطی ارائه می‌شود، فراهم می‌کند.

دستور pam_matrix یک ابزار آزمایش است. این ابزار باید کاملاً ناامن در نظر گرفته شود و هرگز خارج از محیط‌های آزمایشی استفاده نشود! همان‌طور که هنگام خواندن توضیحات گزینه‌ها و اقدامات مشاهده خواهید کرد، بسیاری از آن‌ها در دنیای واقعی هیچ کاربردی ندارند و صرفاً برای امکان‌پذیر ساختن آزمایش‌ها افزوده شده‌اند.

ماژول pam_matrix کاربر را در برابر یک فایل متنی ساده CSV احراز هویت می‌کند. قالب این فایل به صورت زیر است:

username:password:allowed_service

مثال: کاربر bob مجاز است با سرویس sshd احراز هویت کند

bob:secret:sshd

•passdb=/path/to/file - مسیر پایگاه‌داده گذرواژه. اگر پایگاه‌داده با این گزینه ماژول ارائه نشود، pam_matrix.so متغیر محیطی PAM_MATRIX_PASSWD را می‌خواند و تلاش می‌کند فایل را از آنجا بارگذاری کند. اگر آن هم با شکست مواجه شود، PAM_AUTHINFO_UNAVAIL برگردانده می‌شود.
•echo - اگر این گزینه ارائه شود، pam_matrix.so با استفاده از PAM_PROMPT_ECHO_ON گذرواژه را درخواست می‌کند، بدین معنا که گذرواژه به کاربر نمایش داده می‌شود (echo می‌شود). این گزینه برای امکان‌پذیر ساختن آزمایش بهتر توابع گفتگو (conversation) افزوده شده است.
•verbose - اگر این گزینه ارائه شود، pam_matrix.so هنگام موفقیت‌آمیز بودن احراز هویت یک پیام PAM_TEXT_INFO و در صورت شکست آن یک پیام PAM_ERROR_MSG نمایش می‌دهد. این گزینه برای امکان‌پذیر ساختن آزمایش بهتر توابع گفتگو (conversation) افزوده شده است.

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

ماژول auth کاربر را در فایل passdb جستجو کرده و گذرواژه ارائه‌شده را با گذرواژه موجود در فایل passdb مقایسه می‌کند.

ماژول password قادر است گذرواژه را در فایل passdb به‌روزرسانی کند.

ماژول access نام سرویسی را که گفتگوی PAM با آن فراخوانی شده است، با سرویس مجاز برای کاربر مطابق آنچه در فایل passdb تنظیم شده مقایسه می‌کند.

ماژول session متغیر محیطی PAM موسوم به HOMEDIR را برابر با "/home/%u" قرار می‌دهد که در آن %u نشان‌دهنده کاربری است که نشست را باز می‌کند. این متغیر هنگام بسته شدن نشست لغو تنظیم (unset) می‌شود.

auth        required    pam_matrix.so passdb=/tmp/passdb verbose
account     required    pam_matrix.so passdb=/tmp/passdb verbose
password    required    pam_matrix.so passdb=/tmp/passdb verbose
session     required    pam_matrix.so passdb=/tmp/passdb verbose
2015-11-04