آشنایی با حساب PAM

ساخت وبلاگ

ماژول های احراز هویت قابل PlugGABL در هر توزیع مدرن لینوکس در هسته احراز هویت کاربر قرار دارند.

در روزهای خوب قدیمی لینوکس ، اگر برنامه ای مانند SU ، PASSWD ، ورود به سیستم یا XLOCK مورد نیاز برای تأیید اعتبار کاربر باشد ، به سادگی اطلاعات لازم را از ETC /PASSWD می خواند. در صورت نیاز به تغییر رمز عبور کاربران ، به سادگی ویرایش /ETC /PASSWD را ویرایش می کند. این روش ساده اما دست و پا چلفتی مشکلات بی شماری را برای مدیران سیستم و توسعه دهندگان برنامه ارائه داد. از آنجا که رمزهای عبور MD5 و Shadow به طور فزاینده ای محبوب شدند ، هر برنامه ای که به تأیید اعتبار کاربر نیاز دارد باید بداند چگونه می تواند هنگام برخورد با تعدادی از طرح های مختلف ، اطلاعات مناسب را بدست آورد. اگر می خواستید طرح احراز هویت کاربر خود را تغییر دهید ، تمام این برنامه ها باید مجدداً مورد استفاده قرار گیرند. PAM بدون در نظر گرفتن نحوه ذخیره اطلاعات کاربر ، این برنامه را با فعال کردن برنامه ها برای تأیید شفاف کاربران ، از بین می برد.

انعطاف پذیری یکی از بزرگترین نقاط قوت پام است. PAM را می توان پیکربندی کرد تا برنامه های خاصی را برای تأیید اعتبار کاربران انکار کند ، فقط به برخی از کاربران اجازه می دهد تا تأیید شوند ، هشدار دهند که برخی از برنامه ها سعی در تأیید اعتبار دارند ، یا حتی همه کاربران را از امتیازات ورود به سیستم محروم می کنند. طراحی مدولار PAM به شما کنترل کاملی بر نحوه احراز هویت کاربران می دهد.

تقریباً همه توزیع های محبوب مدتی از PAM پشتیبانی کرده اند. در اینجا یک لیست ناقص از توزیع هایی که از PAM پشتیبانی می کنند آورده شده است:

Redhat از نسخه 5. 0

Mandrake از 5. 2

دبیان از نسخه 2. 1 (پشتیبانی جزئی در 2. 1 - پشتیبانی کامل در 2. 2)

کالدرا از نسخه 1. 3

Turbolinux از نسخه 3. 6

SUSE از نسخه 6. 2

این لیست مطمئناً ناقص و احتمالاً نادرست است. اگر شما هرگونه اصلاح یا اضافاتی را برای این لیست ارسال کرده اید ، از آن قدردانی می کنم.

نصب PAM از ابتدا فرآیند طولانی است ، فراتر از محدوده این Howto. اگر PAM روی سیستم شما نصب نشده است ، احتمالاً چنین نسخه قدیمی توزیع خود را اجرا می کنید که دلایل بسیاری دیگر برای به روزرسانی وجود دارد. اگر واقعاً می خواهید خودتان این کار را انجام دهید ، مطمئناً شما نوع شخصی نیستید که به من کمک کند. به تمام این دلایل ، من فرض می کنم که شما قبلاً PAM را نصب کرده اید.

صحبت کافی ، بیایید حفر کنیم.

پرونده های پیکربندی PAM در فهرست/etc/pam. d/ ذخیره می شوند.(اگر دایرکتوری/etc/pam. d/ ندارید ، نگران نباشید ، من آن را در بخش بعدی پوشش می دهم) بیایید به آنجا برویم و نگاهی بیندازیم.

~$ cd /etc/pam. d /etc/pam. d/ $ ls chfn chsh login دیگر passwd su xlock /etc/pam. d/ $

بسته به آنچه در سیستم شما نصب شده است ، ممکن است سیستم شما چند پرونده دیگر یا چند پرونده کمتر در این فهرست داشته باشد. جزئیات هر چه باشد ، احتمالاً شما برای هر یک از برنامه های موجود در سیستم خود که کاربران را تأیید می کند ، پرونده ای را مشاهده کرده اید. همانطور که احتمالاً قبلاً حدس زده اید ، هر پرونده حاوی پیکربندی احراز هویت PAM برای برنامه ای است که از آن نامگذاری شده است (به جز پرونده دیگر ، که ما کمی در مورد آن صحبت خواهیم کرد). بیایید نگاهی به پرونده پیکربندی PAM برای ورود به سیستم بیندازیم (من به خاطر سادگی پرونده را چگالش کردم):

/etc/pam. d/ $ ورود به سیستم گربه # پیکربندی PAM برای ورود به سیستم مورد نیاز PAM_SECURETTY. SO AUTH مورد نیاز PAM_NOLOGIN. SO AUTH مورد نیاز PAM_ENV. SO AUTH AUTH مورد نیاز PAM_UNIX. SO ACCOUNT NULLOK مورد نیاز PAM_UNIX. so جلسه مورد نیاز PAM_UNIX. SO Session Session Pam_Lastlog. بنابراین رمز عبور مورد نیاز PAM_UNIX. so nullok مبهم min = 4 حداکثر = 8

قبل از اینکه وارد این پرونده شوم ، باید کمی به آن اشاره کنم.

درصد کمی از خوانندگان احتمالاً فکر می کنند ، "اوه نه! من دایرکتوری A /etc/pam. d ندارم! لیست توزیع شما می گوید که توزیع من شامل PAM است ، اما من آن دایرکتوری را پیدا نمی کنم. بدون PAM، زندگی من خالی و بی معنی است! چه کاری می توانم انجام دهم؟ "نگران نباشید ، همه چیز گم نشده است. اگر می دانید که توزیع شما شامل PAM است ، اما شما No /etc/pam. d/ دایرکتوری دارید ، پیکربندی PAM شما در /etc/pam. conf ذخیره می شود. به جای اینکه در چندین پرونده پخش شود ، تمام پیکربندی PAM شما در یک پرونده واحد ذخیره می شود. این کمی پیچ و تاب به پیکربندی PAM می افزاید ، اما تنظیمات مناسب در بخش 3. 3. 4 ذکر شده است.

فایلهای پیکربندی PAM نحو زیر را دارند:

ماژول ماژول-مسیر ماژول کنترل را تایپ کنید

با استفاده از فایل پیکربندی ورود به سیستم (به بالا مراجعه کنید) به عنوان مثال ، بیایید نگاهی به نحو برای پرونده های پیکربندی PAM بیندازیم:

نشانه های پیکربندی PAM

Type Token به PAM می گوید چه نوع احراز هویت برای این ماژول استفاده می شود. ماژول هایی از همان نوع را می توان "انباشته" کرد و به کاربر نیاز دارد تا چندین مورد را برآورده کند تا تأیید شود. پام چهار نوع را تشخیص می دهد:

تعیین می کند که آیا کاربر مجاز به دسترسی به سرویس است ، چه رمزهای عبور آنها منقضی شده است و غیره.

تعیین می کند که آیا کاربر کسی است که آنها ادعا می کنند ، معمولاً با گذرواژه ، اما شاید با یک وسیله پر پیچ و خم تر ، مانند بیومتریک.

مکانیسمی را برای کاربر فراهم می کند تا احراز هویت خود را تغییر دهد. باز هم ، این معمولاً رمز ورود آنها است.

کارهایی که باید قبل و/یا بعد از تأیید کاربر انجام شود. این ممکن است شامل مواردی از قبیل نصب/عدم استفاده از فهرست خانه کاربر ، ورود به سیستم ورود به سیستم و ورود آنها و محدود کردن/محدود کردن خدمات در دسترس کاربر باشد.

در پرونده پیکربندی ورود به سیستم ، حداقل یک ورودی را برای هر نوع مشاهده می کنیم. از آنجا که این برنامه ای که به کاربر امکان ورود به سیستم را می دهد (از این رو نام :) ، قابل درک است که باید به همه انواع مختلف احراز هویت دسترسی پیدا کند.

توکن کنترل به پام می گوید اگر تأیید اعتبار توسط این ماژول انجام شود ، چه کاری باید انجام شود. پام چهار نوع کنترل را تشخیص می دهد:

عدم تأیید اعتبار از طریق این ماژول منجر به انکار فوری احراز هویت می شود.

عدم موفقیت منجر به انکار احراز هویت می شود ، اگرچه PAM هنوز هم با تمام ماژول های ذکر شده برای این سرویس قبل از تکذیب احراز هویت تماس می گیرد.

اگر احراز هویت توسط این ماژول موفقیت آمیز باشد ، PAM احراز هویت را اعطا می کند ، حتی اگر یک ماژول مورد نیاز قبلی شکست بخورد.

این که آیا این ماژول موفق می شود یا شکست می خورد ، فقط در صورتی قابل توجه است که تنها ماژول نوع آن برای این سرویس باشد.

در پرونده پیکربندی برای ورود ، تقریباً همه انواع مختلف کنترل را مشاهده می کنیم. بیشتر ماژول های مورد نیاز PAM_UNIX. so (ماژول اصلی تأیید اعتبار) است ، ماژول واحد مورد نیاز PAM_SECURETTY. so است (که اطمینان می دهد کاربر در حال ورود به یک کنسول ایمن است) و تنها ماژول اختیاری PAM_LASTLOG. SO است (The "ماژولی که اطلاعات مربوط به جدیدترین ورود کاربر را بازیابی می کند).

مسیر ماژول به PAM می گوید که از کدام ماژول استفاده کرده و (به صورت اختیاری) از کجا می توان آن را پیدا کرد. بیشتر تنظیمات فقط شامل نام ماژول است ، همانطور که در پرونده پیکربندی ورود به سیستم ما وجود دارد. در این صورت ، PAM به دنبال ماژول ها در فهرست پیش فرض ماژول PAM ، به طور معمول/USR/LIB/Security است. با این حال ، اگر توزیع لینوکس شما مطابق با استاندارد سلسله مراتب فایل سیستم (FHS) باشد ، ماژول های PAM را می توان در /lib /امنیت یافت.

ماژول آرگومان هایی هستند که باید به ماژول منتقل شوند. هر ماژول استدلال های خاص خود را دارد. به عنوان مثال ، در پیکربندی ورود به سیستم ما ، "NULOK" ("NULL OK" ، آرگومان که به ماژول pam_unix. so منتقل می شود ، نشانگر رمز عبور خالی ("تهی") قابل قبول است ("خوب").

اگر پیکربندی PAM شما در /etc/pam. conf به جای /etc/pam. d/ ذخیره شود ، خطوط پیکربندی PAM کمی متفاوت هستند. به جای اینکه هر سرویس دارای فایل پیکربندی خاص خود باشد ، تمام تنظیمات در /etc/pam. conf با نام سرویس به عنوان اولین نشانه در یک خط پیکربندی ذخیره می شوند. به عنوان مثال ، خط زیر در /etc/pam. d/login:

auth به pam_unix. so nulok نیاز داشت

به خط زیر در /etc/pam. conf تبدیل می شود:

ورود به سیستم مورد نیاز Pam_unix. so nulok

به جز این تفاوت جزئی ، بقیه نحو پیکربندی PAM اعمال می شود.

کتاب آموزش بورس...
ما را در سایت کتاب آموزش بورس دنبال می کنید

برچسب : نویسنده : محسن زنجانچی بازدید : <-PostHit-> تاريخ : پنجشنبه 7 ارديبهشت 1402 ساعت: 14:56