PAM_WRAPPER(1)   PAM_WRAPPER(1) نام (NAME) pam_wrapper - یک لایه واسط قابل پیش‌بارگذاری برای آزمایش برنامه‌ها و ماژول‌های PAM خلاصه دستور (SYNOPSIS) LD_PRELOAD=libpam_wrapper.so PAM_WRAPPER=1 PAM_WRAPPER_SERVICE_DIR=/path_to_config ./myapplication توضیحات (DESCRIPTION) این ابزار به شما امکان می‌دهد برنامه کاربردی یا ماژول PAM خود را آزمایش کنید. برای آزمایش برنامه‌های PAM، ماژول ساده‌ای به نام pam_matrix نوشته شده است (بخش زیر را ببینید). اگر قصد دارید یک ماژول PAM را آزمایش کنید، می‌توانید از کتابخانه pamtest که پیاده‌سازی شده استفاده کنید. این کتابخانه آزمودن ماژول‌ها را ساده می‌کند. می‌توانید آن را با چارچوب آزمون واحد cmocka ترکیب کنید یا از بایندینگ‌های ارائه‌شده پایتون برای نوشتن آزمون‌های ماژول خود در پایتون بهره ببرید. متغیرهای محیطی (ENVIRONMENT VARIABLES) ابزار pam_wrapper از طریق متغیرهای محیطی فعال و کنترل می‌شود. می‌توانید متغیرهای زیر را تنظیم کنید: PAM_WRAPPER اگر pam_wrapper را بارگذاری کرده و با تنظیم PAM_WRAPPER=1 آن را فعال کنید، تمام فراخوانی‌های PAM رهگیری و پوشش داده می‌شوند تا بتوانید دایرکتوری حاوی فایل‌های سرویس مورد استفاده pam_wrapper را مشخص نمایید. PAM_WRAPPER_SERVICE_DIR دایرکتوری مبدا برای خواندن فایل‌های سرویس PAM. اگر می‌خواهید از pam_matrix (توضیحات زیر را ببینید) استفاده کنید یا قصد دارید ماژول PAM اختصاصی خود را آزمایش کنید، باید مسیر مطلق ماژول خود را در فایل‌های سرویس مشخص نمایید. PAM_WRAPPER_DEBUGLEVEL اگر نیاز دارید از رخدادهای درون pam_wrapper مطلع شوید یا در پی یافتن باگ هستید، در صورتی که آن را با نمادهای اشکال‌زدایی (debug symbols) کامپایل کرده باشید، می‌توانید پشتیبانی از ثبت وقایع (logging) را در pam_wrapper فعال کنید. • 0 = ERROR • 1 = WARNING • 2 = DEBUG • 3 = TRACE PAM_WRAPPER_USE_SYSLOG به‌طور پیش‌فرض لاگ‌های pam به سطح لاگ DEBUG در pam_wrapper می‌روند و به syslog فرستاده نمی‌شوند. اگر می‌خواهید لاگ‌ها در syslog نیز ثبت شوند، می‌توانید این متغیر را برابر با 1 قرار دهید. PAM_WRAPPER_KEEP_DIR اگر این گزینه روی 1 تنظیم شود، pam_wrapper دایرکتوری‌های موقت خود را حذف نخواهد کرد. این قابلیت بیشتر برای توسعه‌دهندگان pam_wrapper مفید است. PAM_WRAPPER_DISABLE_DEEPBIND این متغیر امکان غیرفعال کردن اتصال عمیق (deep binding) را در pam_wrapper فراهم می‌کند. این ویژگی برای اجرای ابزارهای valgrind یا ابزارهای پاک‌سازی (مانند address، undefined، thread) کاربرد دارد. مثال (EXAMPLE) یک فایل سرویس برای pam_wrapper باید به شکل زیر باشد: auth required /usr/lib/pam_wrapper/pam_matrix.so passdb=/path/to/pdb account required /usr/lib/pam_wrapper/pam_matrix.so passdb=/path/to/pdb password required /usr/lib/pam_wrapper/pam_matrix.so passdb=/path/to/pdb session required /usr/lib/pam_wrapper/pam_matrix.so passdb=/path/to/pdb نام فایل باید بیانگر نام سرویس مورد استفاده توسط برنامه کاربردی PAM شما باشد. LD_PRELOAD=./libpam_wrapper.so PAM_WRAPPER=1 PAM_WRAPPER_SERVICE_DIR=./pam_services ./my_pam_app PAM_MATRIX ماژولی برای ساده‌تر کردن فرآیند آزمایش برنامه‌های PAM فراهم شده است. می‌توانید اطلاعات بیشتر را در صفحه راهنمای pam_matrix(8) بیابید. نویسنده (AUTHOR) The Samba Team نویسنده.   2020-01-31 PAM_WRAPPER(1)