| PAM_SSS_GSS(8) | SSSD Manual pages | PAM_SSS_GSS(8) |
نام (NAME)
pam_sss_gss - ماژول PAM برای احراز هویت GSSAPI در SSSD
خلاصه دستور (SYNOPSIS)
pam_sss_gss.so [debug]
توضیحات (DESCRIPTION)
ماژول pam_sss_gss.so کاربر را از طریق GSSAPI و با همکاری SSSD احراز هویت میکند.
این ماژول تلاش خواهد کرد تا با استفاده از نام سرویس مبتنی بر میزبان GSSAPI به صورت host@hostname کاربر را احراز هویت کند که به پرینسیپال کربروس host/hostname@REALM ترجمه میشود. بخش REALM از نام پرینسیپال کربروس توسط سازوکارهای داخلی کربروس مشتق میشود و میتواند صراحتاً در پیکربندی بخش [domain_realm] در /etc/krb5.conf تنظیم شود.
از SSSD برای ارائه نام سرویس دلخواه و اعتبارسنجی مدارک هویتی کاربر با استفاده از فراخوانیهای GSSAPI استفاده میشود. اگر بلیت سرویس از قبل در حافظه موقت مدارک کربروس موجود باشد یا اگر بتوان از بلیت اعطای بلیت (TGT) کاربر برای دریافت بلیت سرویس صحیح استفاده کرد، کاربر احراز هویت خواهد شد.
اگر pam_gssapi_check_upn روی True (پیشفرض) تنظیم شده باشد، SSSD ملزم میسازد که مدارک هویتی استفادهشده برای دریافت بلیتهای سرویس بتوانند با کاربر مرتبط شوند. این بدان معناست که پرینسیپالِ مالک مدارک کربروس باید با نام پرینسیپال کاربر (UPN) تعریفشده در LDAP مطابقت داشته باشد.
برای فعالسازی احراز هویت GSSAPI در SSSD، گزینه pam_gssapi_services را در بخش [pam] یا بخش دامنه در sssd.conf تنظیم کنید. مدارک سرویس باید در keytab متعلق به SSSD ذخیره شوند (اگر از ارائهدهنده ipa یا ad استفاده میکنید از قبل موجود است). مکان keytab را میتوان با گزینه krb5_keytab تنظیم کرد. برای جزئیات بیشتر درباره این گزینهها، sssd.conf(5) و sssd-krb5(5) را ببینید.
برخی از استقرارهای کربروس اجازه میدهند نشانگرهای احراز هویت به یک روش پیشاحراز هویت خاص که توسط کاربر برای دریافت بلیت اعطای بلیت استفاده شده است، مرتبط شوند. pam_sss_gss.so اجازه میدهد تا وجود نشانگرهای احراز هویت در بلیتهای سرویس، پیش از امکان دسترسی به یک سرویس PAM خاص الزامی شود.
اگر pam_gssapi_indicators_map در بخش [pam] یا بخش دامنه در sssd.conf تنظیم شده باشد، SSSD وجود هرگونه نشانگر پیکربندیشده در بلیت سرویس را بررسی خواهد کرد.
گزینهها (OPTIONS)
debug
انواع ماژول ارائهشده (MODULE TYPES PROVIDED)
تنها نوع ماژول auth ارائه شده است.
مقادیر بازگشتی (RETURN VALUES)
PAM_SUCCESS
PAM_USER_UNKNOWN
PAM_AUTH_ERR
PAM_AUTHINFO_UNAVAIL
PAM_SYSTEM_ERR
مثالها (EXAMPLES)
مورد کاربرد اصلی، ارائه احراز هویت بدون گذرواژه در sudo بدون نیاز به غیرفعالسازی کامل احراز هویت است. برای دستیابی به این هدف، ابتدا احراز هویت GSSAPI را برای sudo در sssd.conf فعال کنید:
[domain/MYDOMAIN] pam_gssapi_services = sudo, sudo-i
سپس ماژول را در پشته PAM مورد نظر فعال کنید (برای نمونه /etc/pam.d/sudo و /etc/pam.d/sudo-i).
... auth sufficient pam_sss_gss.so ...
عیبیابی (TROUBLESHOOTING)
لاگهای SSSD، خروجی اشکالزدایی pam_sss_gss و syslog ممکن است حاوی اطلاعات مفیدی درباره خطا باشند. در اینجا برخی مشکلات رایج آورده شده است:
۱. متغیر محیطی KRB5CCNAME را تنظیم کردهام و احراز هویت کار نمیکند: بسته به نسخه sudo شما، ممکن است sudo این متغیر را به محیط PAM ارسال نکند. افزودن KRB5CCNAME به env_keep در /etc/sudoers یا در گزینههای پیشفرض قوانین sudo در LDAP را امتحان کنید.
۲. احراز هویت کار نمیکند و syslog حاوی "Server not found in Kerberos database" است: احتمالاً کربروس قادر به حل قلمرو (realm) صحیح برای بلیت سرویس بر اساس نام میزبان نیست. افزودن مستقیم نام میزبان به [domain_realm] در /etc/krb5.conf مانند زیر را امتحان کنید:
۳. احراز هویت کار نمیکند و syslog حاوی "No Kerberos credentials available" است: شما هیچ مدرکی که بتوان از آن برای دریافت بلیت سرویس مورد نیاز استفاده کرد ندارید. از kinit استفاده کنید یا از طریق SSSD برای دریافت آن مدارک احراز هویت نمایید.
۴. احراز هویت کار نمیکند و لاگ sssd-pam در SSSD حاوی "User with UPN [$UPN] was not found." یا "UPN [$UPN] does not match target user [$username]." است: از مدارکی استفاده میکنید که نمیتوانند به کاربری که در حال احراز هویت است نگاشت شوند. استفاده از kswitch را برای انتخاب پرینسیپال دیگر امتحان کنید، مطمئن شوید که با SSSD احراز هویت کردهاید یا غیرفعالسازی pam_gssapi_check_upn را در نظر بگیرید.
[domain_realm] .myhostname = MYREALM
همچنین ببینید (SEE ALSO)
sssd(8), sssd.conf(5), sssd-ldap(5), sssd-ldap-attributes(5), sssd-krb5(5), sssd-simple(5), sssd-ipa(5), sssd-ad(5), sssd-idp(5), sssd-sudo(5), sssd-session-recording(5), sss_cache(8), sss_debuglevel(8), sss_obfuscate(8), sss_seed(8), sssd_krb5_locator_plugin(8), sss_ssh_authorizedkeys(1), sss_ssh_knownhosts(1), sssd-ifp(5), pam_sss(8). sss_rpcidmapd(5)
نویسندگان (AUTHORS)
The SSSD upstream - https://github.com/SSSD/sssd
| 06/09/2026 | SSSD |