| SSSD.CONF(5) | File Formats and Conventions | SSSD.CONF(5) |
نام (NAME)
sssd.conf - پرونده پیکربندی دیمون خدمات امنیت سامانه (SSSD)
قالب پرونده (FILE FORMAT)
این پرونده دارای نگارش شبیه ini است و از بخشها و پارامترها تشکیل شده است. هر بخش با نام بخش در کروشه آغاز میشود و تا شروع بخش بعدی ادامه مییابد. نمونهای از یک بخش با پارامترهای تکمقداری و چندمقداری:
[section] key = value key2 = value2,value3
انواع دادههای مورد استفاده عبارتند از رشته (بدون نیاز به گیومه)، عدد صحیح و بولی (با مقادیر “TRUE/FALSE”).
خط توضیحات با علامت هش (“#”) یا نقطه-ویرگول (“;”) آغاز میشود. توضیحات درونخطی پشتیبانی نمیشوند.
همه بخشها میتوانند دارای یک پارامتر اختیاری description باشند. کارکرد آن صرفاً به عنوان یک برچسب توصیفی برای بخش است.
پرونده sssd.conf باید یک پرونده معمولی باشد که فقط توسط کاربری که سرویس SSSD با آن اجرا میشود یا کاربر ریشه (root) قابل دسترسی است.
تکهکدهای پیکربندی از پوشه INCLUDE (CONFIGURATION SNIPPETS FROM INCLUDE DIRECTORY)
پرونده پیکربندی sssd.conf تکهکدهای پیکربندی را با استفاده از دایرکتوری include به نام conf.d درج میکند.
هر پروندهای در conf.d قرار گیرد که به “.conf” ختم شود و با نقطه (“.”) شروع نشود، به همراه sssd.conf برای پیکربندی SSSD استفاده خواهد شد.
تکهکدهای پیکربندی موجود در conf.d اولویت بالاتری نسبت به sssd.conf دارند و در صورت بروز تداخل، بر sssd.conf حاکم خواهند شد. اگر چندین تکهکد در conf.d وجود داشته باشد، بر اساس ترتیب الفبایی (مبتنی بر locale) درج میشوند. پروندههایی که دیرتر درج میشوند اولویت بالاتری دارند. پیشوندهای عددی (01_snippet.conf, 02_snippet.conf و غیره) میتوانند به تجسم اولویت کمک کنند (عدد بزرگتر یعنی اولویت بالاتر).
پروندههای تکهکد نیازمند همان مالک و مجوزهای دسترسی sssd.conf هستند.
گزینههای عمومی (GENERAL OPTIONS)
گزینههای زیر در بیش از یک بخش پیکربندی قابل استفاده هستند.
گزینههای قابل استفاده در تمامی بخشها (Options usable in all sections)
debug_level (integer)
لطفاً توجه داشته باشید که هر سرویس SSSD در پرونده گزارش مخصوص به خود وقایعنگاری میکند. همچنین فعالسازی “debug_level” در بخش “[sssd]” تنها اشکالزدایی را برای خود فرآیند sssd فعال میکند، نه برای فرآیندهای پاسخدهنده (responder) یا ارائهدهنده (provider). پارامتر “debug_level” باید به تمام بخشهایی که مایلید گزارشهای اشکالزدایی از آنها تولید شود اضافه گردد.
علاوه بر تغییر سطح گزارش در پرونده پیکربندی با استفاده از پارامتر “debug_level” که پایدار است ولی نیاز به راهاندازی مجدد SSSD دارد، تغییر سطح اشکالزدایی به صورت زنده و در حال اجرا با ابزار sss_debuglevel(8) نیز امکانپذیر است.
سطوح اشکالزدایی در حال حاضر پشتیبانیشده:
0, 0x0010: خرابیهای مرگبار (Fatal). هر چیزی که مانع راهاندازی SSSD شود یا باعث توقف اجرای آن گردد.
1, 0x0020: خرابیهای بحرانی (Critical). خطایی که SSSD را متوقف نمیکند، اما نشان میدهد که دستکم یکی از قابلیتهای اصلی به درستی کار نخواهد کرد.
2, 0x0040: خرابیهای جدی (Serious). خطایی که اعلام میکند یک درخواست یا عملیات خاص ناموفق بوده است.
3, 0x0080: خرابیهای جزئی (Minor). خطاهایی که به سطوح پایینتر نفوذ کرده و باعث شکست عملیات در سطح ۲ میشوند.
4, 0x0100: تنظیمات پیکربندی.
5, 0x0200: دادههای توابع.
6, 0x0400: پیامهای ردگیری (Trace) برای توابع عملیاتی.
7, 0x1000: پیامهای ردگیری برای توابع کنترلی داخلی.
8, 0x2000: محتویات متغیرهای داخلی توابع که ممکن است جالب توجه باشند.
9, 0x4000: اطلاعات ردگیری بسیار سطح پایین.
9, 0x20000: دادههای آماری و عملکردی؛ لطفاً توجه داشته باشید به دلیل نحوه پردازش داخلی درخواستها، زمان ثبتشده اجرای یک درخواست در گزارش ممکن است طولانیتر از زمان واقعی آن باشد.
10, 0x10000: اطلاعات ردگیری حتی سطح پایینتر libldb. تقریباً هرگز واقعاً مورد نیاز نیست.
برای ثبت سطوح اشکالزدایی بیتماسک مورد نیاز، کافی است اعداد آنها را مانند مثالهای زیر با هم جمع کنید:
مثال: برای ثبت خرابیهای مرگبار، بحرانی، جدی و دادههای توابع از 0x0270 استفاده کنید.
مثال: برای ثبت خرابیهای مرگبار، تنظیمات پیکربندی، دادههای توابع و پیامهای ردگیری برای توابع کنترلی داخلی از 0x1310 استفاده کنید.
یادداشت: قالب بیتماسک برای سطوح اشکالزدایی در نگارش 1.7.0 معرفی شد.
پیشفرض: 0x0070 (یعنی خرابیهای مرگبار، بحرانی و جدی؛ معادل تنظیم ۲ در نماد دهدهی)
debug (integer)
debug_timestamps (bool)
پیشفرض: true
debug_microseconds (bool)
پیشفرض: false
debug_backtrace_enabled (bool)
در صورتی که SSSD با debug_level کمتر از ۹ اجرا شود، همهچیز در یک میانگیر حلقهای در حافظه ثبت شده و در صورت بروز هر خطایی تا و شامل `min(0x0040, debug_level)` در پرونده گزارش تخلیه میشود (یعنی اگر debug_level صریحاً روی ۰ یا ۱ تنظیم شده باشد، فقط آن سطوح خطا باعث تخلیه ردگیری معکوس میشوند، وگرنه تا سطح ۲).
این قابلیت فقط برای `logger == files` پشتیبانی میشود (یعنی این تنظیم برای انواع دیگر وقایعنگار تأثیری ندارد).
پیشفرض: true
گزینههای قابل استفاده در بخشهای SERVICE و DOMAIN (Options usable in SERVICE and DOMAIN sections)
timeout (integer)
پیشفرض: 10
بخشهای ویژه (SPECIAL SECTIONS)
بخش [sssd] (The [sssd] section)
بخشهای مجزای قابلیتهای SSSD توسط سرویسهای ویژه SSSD ارائه میشوند که همراه با SSSD شروع و متوقف میشوند. این سرویسها توسط یک سرویس ویژه که معمولاً “monitor” نامیده میشود مدیریت میگردند. بخش “[sssd]” برای پیکربندی مانیتور و همچنین برخی گزینههای مهم دیگر مانند دامنههای هویت استفاده میشود.
پارامترهای بخش
services
سرویسهای پشتیبانیشده: nss, pam, ifp , sudo , autofs , ssh , pac
بهطور پیشفرض، همه سرویسها غیرفعال هستند و مدیر سیستم باید سرویسهای مجاز را با اجرای دستور "systemctl enable sssd-@service@.socket" فعال کند.
domains
re_expression (string)
هر دامنه میتواند دارای یک عبارت منظم اختصاصی پیکربندیشده باشد. برای برخی ارائهدهندگان هویت، عبارات منظم پیشفرض نیز وجود دارد. برای اطلاعات بیشتر در مورد این عبارات منظم به بخش DOMAIN SECTIONS مراجعه کنید.
full_name_format (string)
بسطهای زیر پشتیبانی میشوند:
%1$s
%2$s
%3$s
هر دامنه میتواند دارای یک رشته قالب اختصاصی باشد. برای اطلاعات بیشتر درباره این گزینه به DOMAIN SECTIONS مراجعه کنید.
monitor_resolv_conf (boolean)
پیشفرض: true
try_inotify (boolean)
موقعیتهای محدودی وجود دارد که در آنها ترجیح داده میشود حتی از تلاش برای استفاده از inotify صرفنظر کنیم. در این موارد نادر، این گزینه باید روی 'false' تنظیم شود.
پیشفرض: در سکوهایی که inotify پشتیبانی میشود true. در سایر سکوها false.
یادداشت: این گزینه در سکوهایی که inotify در دسترس نیست هیچ تأثیری نخواهد داشت. در این سکوها، نظرسنجی دورهای همیشه استفاده خواهد شد.
krb5_rcache_dir (string)
این گزینه مقدار ویژه __LIBKRB5_DEFAULTS__ را میپذیرد که به SSSD دستور میدهد اجازه دهد libkrb5 مکان مناسب را برای حافظه موقت بازپخش تعیین کند.
پیشفرض: وابسته به توزیع و مشخصشده در زمان ساخت. (اگر پیکربندی نشده باشد __LIBKRB5_DEFAULTS__)
default_domain_suffix (string)
این رشته به عنوان نام دامنه پیشفرض برای تمام نامهای فاقد مؤلفه نام دامنه استفاده خواهد شد. کاربرد اصلی آن محیطهایی است که دامنه اصلی برای مدیریت سیاستهای میزبان در نظر گرفته شده و همه کاربران در یک دامنه قابل اعتماد قرار دارند. این گزینه به کاربران امکان میدهد فقط با نام کاربری خود و بدون نیاز به وارد کردن نام دامنه وارد سیستم شوند.
لطفاً توجه داشته باشید در صورت تنظیم این گزینه، تمام کاربران دامنه اصلی باید از نام کاملاً واجد شرایط خود، مانند user@domain.name، برای ورود استفاده کنند. تنظیم این گزینه پیشفرض use_fully_qualified_names را به True تغییر میدهد. استفاده از این گزینه همراه با use_fully_qualified_names تنظیمشده روی False مجاز نیست.
پیشفرض: تنظیم نشده
override_space (string)
لطفاً توجه داشته باشید استفاده از نویسه جایگزینی که ممکن است در نامهای کاربر یا گروه استفاده شود یک خطای پیکربندی است. اگر نامی حاوی نویسه جایگزین باشد، SSSD تلاش میکند نام تغییرنیافته را بازگرداند، اما بهطور کلی نتیجه جستجو تعریفنشده است.
پیشفرض: تنظیم نشده (فاصلهها جایگزین نمیشوند)
certificate_verification (string)
no_ocsp
soft_ocsp
ocsp_dgst
پیشفرض: sha1 (برای مجاز کردن سازگاری با پاسخدهندههای منطبق با RFC5019)
no_verification
partial_chain
ocsp_default_responder=URL
ocsp_default_responder_signing_cert=NAME
crl_file=/PATH/TO/CRL/FILE
soft_crl
گزینههای ناشناخته گزارش میشوند اما نادیده گرفته خواهند شد.
پیشفرض: تنظیم نشده، یعنی عدم محدودسازی اعتبارسنجی گواهی
disable_netlink (boolean)
تغییرات وضعیت SSSD ناشی از رویدادهای netlink ممکن است نامطلوب باشد و میتوان با تنظیم این گزینه روی 'true' آن را غیرفعال کرد.
پیشفرض: false (تغییرات netlink تشخیص داده میشوند)
domain_resolution_order
لطفاً توجه داشته باشید در صورت تنظیم این گزینه، قالب خروجی تمام دستورات همواره کاملاً واجد شرایط (fully-qualified) خواهد بود، حتی زمانی که از نامهای کوتاه در ورودی استفاده شود. در صورتی که مدیر سیستم بخواهد خروجی کاملاً واجد شرایط نباشد، میتوان از گزینه full_name_format به شکل زیر استفاده کرد: “full_name_format=%1$s” با این حال به یاد داشته باشید که در زمان ورود، برنامههای ورود معمولاً با فراخوانی getpwnam(3) نام کاربری را یکدست میکنند که اگر برای یک ورودی واجد شرایط یک نام کوتاه بازگردانده شود (در زمان تلاش برای دسترسی به کاربری که در چندین دامنه وجود دارد)، ممکن است تلاش برای ورود به دامنهای هدایت شود که از نامهای کوتاه استفاده میکند؛ بنابراین این راهحل در مواردی که نامهای کاربری ممکن است بین دامنهها همپوشانی داشته باشند اصلاً توصیه نمیشود.
پیشفرض: تنظیم نشده
implicit_pac_responder (boolean)
پیشفرض: true
core_dumpable (boolean)
توجه داشته باشید که این تنظیم تأثیری بر 'ldap_child'، 'krb5_child' و 'sssd_pam' ندارد، زیرا این فایلهای اجرایی دارای دسترسی بالا میتوانند رونوشتی از دادههای keytab میزبان را در حافظه داشته باشند و رفتار آنها در این مورد تابع تنظیم سیستم /proc/sys/fs/suid_dumpable است.
پیشفرض: true
passkey_verification (string)
user_verification (boolean)
پیشفرض این است که تنظیمات کلید تعیین میکنند چه اقدامی انجام شود. در مورد پیشاحراز هویت IPA یا kerberos، این مقدار توسط سرور بازنویسی خواهد شد.
بخشهای خدمات (SERVICES SECTIONS)
تنظیماتی که میتوان برای پیکربندی سرویسهای مختلف استفاده کرد در این بخش توصیف شدهاند. آنها باید در بخش [$NAME] قرار گیرند؛ برای مثال برای سرویس NSS، این بخش “[nss]” خواهد بود.
گزینههای عمومی پیکربندی خدمات (General service configuration options)
این گزینهها را میتوان برای پیکربندی هر سرویسی استفاده کرد.
fd_limit
پیشفرض: 8192 (یا حد "hard" در limits.conf)
client_idle_timeout
پیشفرض: 60, KCM: 300
responder_idle_timeout
پیشفرض: 300
cache_first
پیشفرض: true
گزینههای پیکربندی NSS (NSS configuration options)
این گزینهها میتوانند برای پیکربندی سرویس Name Service Switch (NSS) استفاده شوند.
enum_cache_timeout (integer)
پیشفرض: 120
entry_cache_nowait_percentage (integer)
به عنوان مثال، اگر entry_cache_timeout دامنه روی 30s و entry_cache_nowait_percentage روی 50 (درصد) تنظیم شده باشد، ورودیهایی که پس از گذشت ۱۵ ثانیه از آخرین بهروزرسانی حافظه موقت درخواست شوند، فوراً بازگردانده میشوند، اما SSSD خود اقدام به بهروزرسانی حافظه موقت میکند تا درخواستهای بعدی نیازی به مسدود شدن در انتظار بهروزرسانی حافظه موقت نداشته باشند.
مقادیر معتبر برای این گزینه 0-99 هستند و درصدی از entry_cache_timeout را برای هر دامنه نشان میدهند. به دلایل عملکردی، این درصد هرگز مهلت زمانی nowait را به کمتر از ۱۰ ثانیه کاهش نخواهد داد. (مقدار 0 این قابلیت را غیرفعال میکند)
پیشفرض: 50
entry_negative_timeout (integer)
پیشفرض: 15
filter_users, filter_groups (string)
یادداشت: گزینه filter_groups روی توارث اعضای گروههای تو در تو تأثیری ندارد، زیرا پالایش پس از انتشار آنها برای بازگرداندن از طریق NSS اتفاق میافتد. برای مثال گروهی که یک گروه عضو آن پالایش شده است، همچنان کاربران عضو گروه دوم را در فهرست خواهد داشت.
پیشفرض: root
filter_users_in_groups (bool)
پیشفرض: true
override_homedir (string)
%u
%U
%d
%f
%l
%P
%o
این جایگزینی برای استفاده در سناریوی اعتماد IPA-AD طراحی شده است. اگر این جایگزینی برای گزینه subdomain_homedir استفاده شود، مقدار دایرکتوری خانگی را از دامنه AD به کلاینتهای IPA منتقل میکند. در این سناریو، گزینه باید در پیکربندی SSSD روی سرور IPA که در آن SSSD در حالت سرور اجرا میشود، تنظیم گردد.
%h
%H
%%
این گزینه را میتوان به ازای هر دامنه نیز تنظیم کرد.
مثال:
override_homedir = /home/%u
پیشفرض: تنظیم نشده (SSSD از مقدار بازیابیشده از LDAP استفاده خواهد کرد)
لطفاً توجه داشته باشید دایرکتوری خانگی حاصل از یک بازنویسی خاص برای کاربر، چه بهطور محلی (به sss_override(8) مراجعه کنید) یا بازنویسیهای شناسه IPA مدیریتشده بهصورت مرکزی، اولویت بالاتری دارد و به جای مقدار دادهشده توسط override_homedir استفاده خواهد شد.
homedir_substring (string)
پیشفرض: /home
fallback_homedir (string)
مقادیر موجود برای این گزینه همانند override_homedir هستند.
مثال:
fallback_homedir = /home/%u
پیشفرض: تنظیم نشده (هیچ جایگزینی برای دایرکتوریهای خانگی تنظیمنشده وجود ندارد)
override_shell (string)
پیشفرض: تنظیم نشده (SSSD از مقدار بازیابیشده از LDAP استفاده خواهد کرد)
allowed_shells (string)
۱. اگر پوسته در “/etc/shells” موجود باشد، استفاده میشود.
۲. اگر پوسته در فهرست allowed_shells باشد اما در “/etc/shells” نباشد، از مقدار پارامتر shell_fallback استفاده کن.
۳. اگر پوسته نه در فهرست allowed_shells و نه در “/etc/shells” باشد، از یک پوسته nologin استفاده میشود.
نویسه عام (*) میتواند برای مجاز کردن هر پوستهای استفاده شود.
علامت (*) در صورتی مفید است که بخواهید از shell_fallback در صورتی که پوسته کاربر در “/etc/shells” نیست استفاده کنید و نگهداری فهرست تمام پوستههای مجاز در allowed_shells بار اضافی زیادی به همراه داشته باشد.
یک رشته خالی برای پوسته، همانطور که هست به libc ارسال میشود.
پرونده “/etc/shells” فقط هنگام راهاندازی SSSD خوانده میشود، به این معنی که در صورت نصب پوسته جدید، راهاندازی مجدد SSSD لازم است.
پیشفرض: تنظیم نشده. پوسته کاربر بهطور خودکار استفاده میشود.
vetoed_shells (string)
shell_fallback (string)
پیشفرض: /bin/sh
default_shell
پیشفرض: تنظیم نشده (در صورت عدم تعیین پوسته NULL بازمیگرداند و برای جایگزینی مقداری معقول در صورت لزوم، معمولاً /bin/sh، به libc تکیه میکند)
get_domains_timeout (int)
پیشفرض: 60
memcache_timeout (integer)
پیشفرض: 300
هشدار: غیرفعال کردن حافظه موقت درونحافظهای تأثیر منفی چشمگیری بر عملکرد SSSD خواهد داشت و فقط باید برای اهداف آزمایشی استفاده شود.
یادداشت: اگر متغیر محیطی SSS_NSS_USE_MEMCACHE روی "NO" تنظیم شده باشد، برنامههای کلاینت از حافظه موقت سریع درونحافظهای استفاده نخواهند کرد.
memcache_size_passwd (integer)
پیشفرض: 8
هشدار: غیرفعال بودن یا کوچک بودن بیش از حد حافظه موقت میتواند تأثیر منفی چشمگیری بر عملکرد SSSD داشته باشد.
یادداشت: اگر متغیر محیطی SSS_NSS_USE_MEMCACHE روی "NO" تنظیم شده باشد، برنامههای کلاینت از حافظه موقت سریع درونحافظهای استفاده نخواهند کرد.
memcache_size_group (integer)
پیشفرض: 6
هشدار: غیرفعال بودن یا کوچک بودن بیش از حد حافظه موقت میتواند تأثیر منفی چشمگیری بر عملکرد SSSD داشته باشد.
یادداشت: اگر متغیر محیطی SSS_NSS_USE_MEMCACHE روی "NO" تنظیم شده باشد، برنامههای کلاینت از حافظه موقت سریع درونحافظهای استفاده نخواهند کرد.
memcache_size_initgroups (integer)
پیشفرض: 10
هشدار: غیرفعال بودن یا کوچک بودن بیش از حد حافظه موقت میتواند تأثیر منفی چشمگیری بر عملکرد SSSD داشته باشد.
یادداشت: اگر متغیر محیطی SSS_NSS_USE_MEMCACHE روی "NO" تنظیم شده باشد، برنامههای کلاینت از حافظه موقت سریع درونحافظهای استفاده نخواهند کرد.
memcache_size_sid (integer)
پیشفرض: 6
هشدار: غیرفعال بودن یا کوچک بودن بیش از حد حافظه موقت میتواند تأثیر منفی چشمگیری بر عملکرد SSSD داشته باشد.
یادداشت: اگر متغیر محیطی SSS_NSS_USE_MEMCACHE روی "NO" تنظیم شده باشد، برنامههای کلاینت از حافظه موقت سریع درونحافظهای استفاده نخواهند کرد.
user_attributes (string)
برای تسهیل پیکربندی، پاسخدهنده NSS در صورتی که این گزینه برای آن تنظیم نشده باشد، گزینه InfoPipe را بررسی خواهد کرد.
پیشفرض: تنظیم نشده، بازگشت به گزینه InfoPipe
pwfield (string)
پیشفرض: “*”
یادداشت: این گزینه میتواند به ازای هر دامنه نیز تنظیم شود که مقدار موجود در بخش [nss] را بازنویسی میکند.
پیشفرض: “not set” (دامنههای راه دور), “x” (دامنه پروکسی با nss_files و هدف sssd-shadowutils)
این گزینهها میتوانند برای پیکربندی سرویس ماژول احراز هویت با قابلیت اتصال (PAM) استفاده شوند.
offline_credentials_expiration (integer)
پیشفرض: 0 (بدون محدودیت)
offline_failed_login_attempts (integer)
پیشفرض: 0 (بدون محدودیت)
offline_failed_login_delay (integer)
در صورت تنظیم روی 0، اگر به سقف offline_failed_login_attempts رسیده باشد، کاربر نمیتواند بهصورت آفلاین احراز هویت کند. تنها یک احراز هویت برخط موفق میتواند احراز هویت آفلاین را مجدداً فعال سازد.
پیشفرض: 5
pam_verbosity (integer)
در حال حاضر sssd از مقادیر زیر پشتیبانی میکند:
0: عدم نمایش هیچ پیامی
1: نمایش فقط پیامهای مهم
2: نمایش پیامهای اطلاعاتی
3: نمایش همه پیامها و اطلاعات اشکالزدایی
پیشفرض: 1
pam_response_filter (string)
در حالی که پیامها را میتوان از قبل با کمک گزینه pam_verbosity کنترل کرد، این گزینه امکان پالایش انواع دیگر پاسخها را نیز فراهم میسازد.
در حال حاضر فیلترهای زیر پشتیبانی میشوند:
ENV
ENV:var_name
ENV:var_name:service
فهرست رشتهها میتواند فهرستی از فیلترها باشد که این فهرست فیلترها را تنظیم کرده و پیشفرضها را بازنویسی میکند. یا هر عنصر از فهرست میتواند با نویسه '+' یا '-' پیشوند داشته باشد که به ترتیب فیلتر را به پیشفرض موجود اضافه یا از آن حذف میکند. لطفاً توجه داشته باشید که تمام عناصر فهرست باید پیشوند '+' یا '-' داشته باشند یا هیچکدام نداشته باشند. ترکیب هر دو شیوه یک خطا تلقی میشود.
پیشفرض: ENV:KRB5CCNAME:sudo, ENV:KRB5CCNAME:sudo-i
مثال: ENV:KRB5CCNAME:sudo-i- فیلتر را از فهرست پیشفرض حذف خواهد کرد
pam_id_timeout (integer)
یک مکالمه کامل PAM ممکن است چندین درخواست PAM مانند مدیریت حساب و باز کردن نشست را انجام دهد. این گزینه کنترل میکند (بر اساس هر برنامه کلاینت) که چه مدت (به ثانیه) میتوانیم اطلاعات هویتی را در حافظه موقت نگه داریم تا از رفتوبرگشتهای اضافی به ارائهدهنده هویت جلوگیری شود.
پیشفرض: 5
pam_pwd_expiration_warning (integer)
لطفاً توجه داشته باشید که سرور بکاند باید اطلاعات مربوط به زمان انقضای گذرواژه را ارائه دهد. در صورت مفقود بودن این اطلاعات، sssd نمیتواند هشداری نمایش دهد.
اگر صفر تنظیم شود، این فیلتر اعمال نمیشود، یعنی اگر هشدار انقضا از سرور بکاند دریافت شود، بهطور خودکار نمایش داده خواهد شد.
این تنظیم را میتوان با تنظیم pwd_expiration_warning برای یک دامنه خاص بازنویسی کرد.
پیشفرض: 0
get_domains_timeout (int)
پیشفرض: 60
pam_trusted_users (string)
پیشفرض: همه کاربران بهطور پیشفرض مورد اعتماد تلقی میشوند
لطفاً توجه داشته باشید UID 0 همواره مجاز به دسترسی به پاسخدهنده PAM است، حتی اگر در فهرست pam_trusted_users نباشد.
pam_public_domains (string)
دو مقدار ویژه برای گزینه pam_public_domains تعریف شده است:
all (کاربران غیرقابلاعتماد مجاز به دسترسی به همه دامنهها در پاسخدهنده PAM هستند.)
none (کاربران غیرقابلاعتماد مجاز به دسترسی به هیچ دامنهای در پاسخدهنده PAM نیستند.)
پیشفرض: none
pam_account_expired_message (string)
یادداشت: لطفاً آگاه باشید که این پیام فقط برای سرویس SSH چاپ میشود، مگر اینکه pam_verbosity روی 3 (نمایش همه پیامها و اطلاعات اشکالزدایی) تنظیم شده باشد.
مثال:
pam_account_expired_message = Account expired, please contact help desk.
پیشفرض: none
pam_account_locked_message (string)
مثال:
pam_account_locked_message = Account locked, please contact help desk.
پیشفرض: none
pam_passkey_auth (bool)
پیشفرض: True
passkey_debug_libfido2 (bool)
پیشفرض: False
pam_cert_auth (bool)
پیشفرض: False
pam_cert_db_path (string)
پیشفرض:
pam_cert_verification (string)
مثال:
pam_cert_verification = partial_chain
پیشفرض: تنظیم نشده، یعنی استفاده از گزینه پیشفرض “certificate_verification” تعریفشده در بخش “[sssd]”.
p11_child_timeout (integer)
پیشفرض: 10
passkey_child_timeout (integer)
پیشفرض: 15
pam_app_services (string)
پیشفرض: تنظیم نشده
pam_p11_allowed_services (string)
امکان اضافه کردن نام سرویس PAM دیگر به مجموعه پیشفرض با استفاده از “+service_name” یا حذف صریح نام سرویس PAM از مجموعه پیشفرض با استفاده از “-service_name” وجود دارد. به عنوان مثال، به منظور جایگزینی نام سرویس پیشفرض PAM برای احراز هویت با کارتهای هوشمند (مانند “login”) با نام یک سرویس سفارشی PAM (مانند “my_pam_service”)، از پیکربندی زیر استفاده میکنید:
pam_p11_allowed_services = +my_pam_service, -login
پیشفرض: مجموعه پیشفرض نامهای سرویس PAM شامل موارد زیر است:
p11_wait_for_card_timeout (integer)
پیشفرض: 60
p11_uri (string)
مثال:
p11_uri = pkcs11:slot-description=My%20Smartcard%20Reader
یا
p11_uri = pkcs11:library-description=OpenSC%20smartcard%20framework;slot-id=2
برای یافتن URI مناسب لطفاً خروجی اشکالزدایی p11_child را بررسی کنید. به عنوان جایگزین، ابزار GnuTLS به نام 'p11tool' همراه با مثلاً '--list-all' شناسههای PKCS#11 URI را نیز نشان خواهد داد.
پیشفرض: none
pam_initgroups_scheme
always
no_session
never
پیشفرض: no_session
pam_gssapi_services
برای غیرفعال کردن احراز هویت GSSAPI، این گزینه را روی “-” (خط تیره) تنظیم کنید.
یادداشت: این گزینه میتواند به ازای هر دامنه نیز تنظیم شود که مقدار موجود در بخش [pam] را بازنویسی میکند. همچنین میتواند برای دامنه مورد اعتماد تنظیم شود که مقدار موجود در بخش دامنه را بازنویسی میکند.
مثال:
pam_gssapi_services = sudo, sudo-i
پیشفرض: - (احراز هویت GSSAPI غیرفعال است)
pam_gssapi_check_upn
اگر False باشد، هر کاربری که بتواند بلیط سرویس مورد نیاز را به دست آورد احراز هویت خواهد شد.
یادداشت: این گزینه میتواند به ازای هر دامنه نیز تنظیم شود که مقدار موجود در بخش [pam] را بازنویسی میکند. همچنین میتواند برای دامنه مورد اعتماد تنظیم شود که مقدار موجود در بخش دامنه را بازنویسی میکند.
پیشفرض: True
pam_gssapi_indicators_map
هر عنصر فهرست میتواند یک نام شاخص احراز هویت یا یک جفت “service:indicator” باشد. شاخصهایی که پیشوند نام سرویس PAM را ندارند، برای دسترسی به هر سرویس PAM پیکربندیشده برای استفاده با pam_gssapi_services الزامی خواهند بود. سپس فهرست نهایی شاخصها به ازای هر سرویس PAM در طول احراز هویت توسط pam_sss_gss.so در برابر شاخصهای موجود در بلیط Kerberos بررسی میشود. هر شاخصی از بلیط که با فهرست شاخصهای حاصل برای سرویس PAM مطابقت داشته باشد، دسترسی را اعطا خواهد کرد. اگر هیچیک از شاخصهای موجود در فهرست مطابقت نداشته باشند، دسترسی رد خواهد شد. اگر فهرست شاخصهای حاصل برای سرویس PAM خالی باشد، این بررسی مانع دسترسی نخواهد شد.
برای غیرفعال کردن بررسی شاخص احراز هویت GSSAPI، این گزینه را روی “-” (خط تیره) تنظیم کنید. برای غیرفعال کردن بررسی برای یک سرویس خاص PAM، عبارت “service:-” را اضافه کنید.
یادداشت: این گزینه میتواند به ازای هر دامنه نیز تنظیم شود که مقدار موجود در بخش [pam] را بازنویسی میکند. همچنین میتواند برای دامنه مورد اعتماد تنظیم شود که مقدار موجود در بخش دامنه را بازنویسی میکند.
شاخصهای احراز هویت زیر توسط استقرارهای IPA Kerberos پشتیبانی میشوند:
مثال: برای الزامی کردن دسترسی به سرویسهای SUDO فقط برای کاربرانی که بلیطهای Kerberos خود را با پیشاحراز هویت گواهی X.509 (PKINIT) به دست آوردهاند، تنظیم کنید:
pam_gssapi_indicators_map = sudo:pkinit, sudo-i:pkinit
پیشفرض: تنظیم نشده (استفاده از شاخصهای احراز هویت الزامی نیست)
pam_gssapi_indicators_apply
در حال حاضر موارد زیر پشتیبانی میشوند:
مثال: برای تخصیص یک SID، که برای مثال توسط سازوکار تضمین احراز هویت (AMA) اکتیو دایرکتوری در صورتی که کاربر AD از کارت هوشمند برای احراز هویت استفاده کرده باشد تنظیم میشود، به شاخص احراز هویت 'pkinit' از دستور زیر استفاده کنید:
pam_gssapi_indicators_apply = SID:S-1-5-12345-23456-34567-4321:pkinit
پیشفرض: تنظیم نشده
گزینههای پیکربندی SUDO (SUDO configuration options)
این گزینهها میتوانند برای پیکربندی سرویس sudo استفاده شوند. دستورالعملهای دقیق برای پیکربندی sudo(8) جهت کار با sssd(8) در صفحه راهنمای sssd-sudo(5) آمده است.
sudo_timed (bool)
پیشفرض: false
sudo_threshold (integer)
پیشفرض: 50
گزینههای پیکربندی AUTOFS (AUTOFS configuration options)
این گزینهها میتوانند برای پیکربندی سرویس autofs استفاده شوند.
autofs_negative_timeout (integer)
پیشفرض: 15
لطفاً توجه داشته باشید سوارکننده خودکار (automounter) فقط نقشه اصلی را هنگام راهاندازی میخواند، بنابراین اگر هرگونه تغییر مرتبط با autofs در sssd.conf ایجاد شود، معمولاً پس از راهاندازی مجدد SSSD، باید دیمون سوارکننده خودکار را نیز مجدداً راهاندازی کنید.
گزینههای پیکربندی SSH (SSH configuration options)
این گزینهها میتوانند برای پیکربندی سرویس SSH استفاده شوند.
ssh_use_certificate_keys (bool)
پیشفرض: true
ssh_use_certificate_matching_rules (string)
دو کلمه کلیدی ویژه 'all_rules' و 'no_rules' وجود دارند که به ترتیب تمام قوانین یا هیچ قانونی را فعال نمیکنند. دومی به این معنی است که هیچ گواهی پالایش نخواهد شد و کلیدهای ssh از تمام گواهیهای معتبر تولید خواهند شد.
اگر هیچ قانونی پیکربندی نشده باشد، استفاده از 'all_rules' یک قانون پیشفرض را فعال میکند که تمام گواهیهای مناسب برای احراز هویت کلاینت را مجاز میسازد. این همان رفتاری است که در صورت فعال بودن احراز هویت با گواهی در پاسخدهنده PAM وجود دارد.
نام یک قانون ناموجود یک خطا تلقی میشود. اگر در نتیجه هیچ قانونی انتخاب نشود، تمام گواهیها نادیده گرفته خواهند شد.
پیشفرض: تنظیم نشده، معادل 'all_rules' است؛ تمام قوانین یافتشده یا قانون پیشفرض استفاده میشوند
ca_db (string)
پیشفرض:
گزینههای پیکربندی پاسخدهنده PAC (PAC responder configuration options)
پاسخدهنده PAC در کنار افزونه دادههای مجازسازی برای MIT Kerberos یعنی sssd_pac_plugin.so و یک ارائهدهنده زیردامنه کار میکند. این افزونه دادههای PAC را در طول یک احراز هویت GSSAPI به پاسخدهنده PAC ارسال میکند. ارائهدهنده زیردامنه، SID دامنه و محدودههای شناسه (ID ranges) دامنهای که کلاینت به آن پیوسته است و دامنههای مورد اعتماد راه دور را از کنترلکننده دامنه محلی جمعآوری میکند. در صورت رمزگشایی و ارزیابی PAC، برخی از عملیات زیر انجام میشود:
این گزینهها میتوانند برای پیکربندی پاسخدهنده PAC استفاده شوند.
allowed_uids (string)
پیشفرض: 0, sssd (فقط کاربران ریشه و سرویس SSSD مجاز به دسترسی به پاسخدهنده PAC هستند)
لطفاً توجه داشته باشید که پیشفرضها با این گزینه بازنویسی خواهند شد. اگر همچنان میخواهید به کاربر ریشه و/یا 'sssd' اجازه دسترسی به پاسخدهنده PAC را بدهید (که حالت معمول است)، باید آنها را صریحاً به فهرست UIDهای مجاز اضافه کنید.
pac_lifetime (integer)
پیشفرض: 300
pac_check (string)
لطفاً توجه داشته باشید که بررسیهای ذکرشده در زیر فقط برای PACهای صادرشده توسط اکتیو دایرکتوری یا نگارشهای اخیر FreeIPA اعمال میشوند. PACهای صادرشده توسط مثلاً یک KDC ساده MIT Kerberos حاوی میانگیرهای داده PAC مورد نیاز برای اجرای این بررسیها نخواهند بود.
گزینههای زیر میتوانند به تنهایی یا در یک فهرست جداشده با کاما استفاده شوند:
no_check
pac_present
check_upn
check_upn_allow_missing
در حال حاضر این گزینه بهطور پیشفرض تنظیم شده است تا از پسرفت در چنین محیطهایی جلوگیری شود. در صورتی که یک UPN در PAC یافت شود اما در حافظه موقت SSSD نباشد، یک پیام به گزارش سیستم و گزارش اشکالزدایی SSSD اضافه خواهد شد. برای جلوگیری از این پیام گزارش، بهتر است بررسی کنید آیا میتوان گزینه 'ldap_user_principal' را حذف کرد. اگر این امر ممکن نیست، حذف 'check_upn' از آزمون صرفنظر کرده و از ایجاد پیام گزارش جلوگیری میکند.
upn_dns_info_present
check_upn_dns_info_ex
upn_dns_info_ex_present
پیشفرض: no_check (برای ارائهدهنده AD و IPA برابر 'check_upn, check_upn_allow_missing, check_upn_dns_info_ex')
گزینههای پیکربندی ضبط نشست (Session recording configuration options)
قابلیت ضبط نشست در ارتباط با tlog-rec-session(8) (بخشی از بسته tlog) کار میکند تا آنچه را که کاربران هنگام ورود به ترمینال متنی میبینند و تایپ میکنند ثبت کند. همچنین به sssd-session-recording(5) مراجعه کنید.
این گزینهها میتوانند برای پیکربندی ضبط نشست استفاده شوند.
scope (string)
"none"
"some"
"all"
پیشفرض: "none"
users (string)
پیشفرض: خالی. با هیچ کاربری تطبیق ندارد.
groups (string)
یادداشت: استفاده از این گزینه (تنظیم آن روی هر مقداری) هزینه عملکردی قابل توجهی دارد، زیرا هر درخواست ذخیرهنشده در حافظه موقت برای یک کاربر مستلزم بازیابی و تطبیق گروههایی است که کاربر عضو آنهاست.
پیشفرض: خالی. با هیچ گروهی تطبیق ندارد.
exclude_users (string)
پیشفرض: خالی. هیچ کاربری مستثنی نمیشود.
exclude_groups (string)
یادداشت: استفاده از این گزینه (تنظیم آن روی هر مقداری) هزینه عملکردی قابل توجهی دارد، زیرا هر درخواست ذخیرهنشده در حافظه موقت برای یک کاربر مستلزم بازیابی و تطبیق گروههایی است که کاربر عضو آنهاست.
پیشفرض: خالی. هیچ گروهی مستثنی نمیشود.
بخشهای دامنه (DOMAIN SECTIONS)
این گزینههای پیکربندی میتوانند در یک بخش پیکربندی دامنه، یعنی در بخشی به نام “[domain/NAME]” وجود داشته باشند.
enabled
domain_type (string)
مقادیر مجاز برای این گزینه عبارتند از “posix” و “application”.
دامنههای POSIX توسط تمام سرویسها قابل دسترسی هستند. دامنههای کاربردی (Application domains) فقط از پاسخدهنده InfoPipe (به sssd-ifp(5) مراجعه کنید) و پاسخدهنده PAM قابل دسترسی هستند.
یادداشت: دامنههای کاربردی در حال حاضر فقط با “id_provider=ldap” به خوبی آزمایش شدهاند.
برای راهی آسان جهت پیکربندی دامنههای غیر POSIX، لطفاً به بخش “Application domains” مراجعه کنید.
پیشفرض: posix
min_id,max_id (integer)
برای کاربران، این روی محدودیت GID اصلی تأثیر میگذارد. اگر UID یا GID اصلی خارج از محدوده باشد، کاربر به NSS بازگردانده نخواهد شد. برای عضویتهای گروه غیر اصلی، مواردی که در محدوده هستند طبق انتظار گزارش خواهند شد.
این محدودیتهای شناسه حتی بر ذخیره ورودیها در حافظه موقت نیز تأثیر میگذارند، نه فقط بر بازگرداندن آنها با نام یا شناسه.
پیشفرض: 1 برای min_id، و 0 (بدون محدودیت) برای max_id
enumerate (bool)
TRUE = کاربران و گروهها شمارش میشوند
FALSE = عدم شمارش برای این دامنه
پیشفرض: FALSE
شمارش یک دامنه مستلزم این است که SSSD تمام ورودیهای کاربر و گروه را از سرور راه دور بارگیری و ذخیره کند.
یادداشت: فعال کردن شمارش تأثیر منفی شدیدی بر عملکرد SSSD در حین اجرای شمارش دارد. ممکن است پس از راهاندازی SSSD چندین دقیقه طول بکشد تا شمارشها بهطور کامل پایان یابند. در این مدت، درخواستهای فردی برای اطلاعات مستقیماً به LDAP ارسال میشوند، هرچند ممکن است به دلیل پردازش سنگین شمارش کند باشند. ذخیره تعداد زیادی ورودی در حافظه موقت پس از تکمیل شمارش نیز ممکن است نیاز به مصرف بالای CPU داشته باشد زیرا عضویتها باید دوباره محاسبه شوند. این میتواند منجر به عدم پاسخگویی فرآیند “sssd_be” یا حتی راهاندازی مجدد آن توسط سگ نگهبان (watchdog) داخلی شود.
در حین اجرای اولین شمارش، درخواستها برای فهرست کامل کاربران یا گروهها ممکن است تا زمان اتمام هیچ نتیجهای بازنگردانند.
علاوه بر این، فعال کردن شمارش ممکن است زمان لازم برای تشخیص قطع اتصال شبکه را افزایش دهد، زیرا مهلتهای زمانی طولانیتری برای اطمینان از تکمیل موفقیتآمیز جستجوهای شمارش مورد نیاز است. برای اطلاعات بیشتر، به صفحات راهنمای id_provider خاص مورد استفاده مراجعه کنید.
به دلایل ذکرشده در بالا، فعال کردن شمارش به ویژه در محیطهای بزرگ توصیه نمیشود.
یادداشت: ارائهدهنده پروکسی با ماژولهای متنباز مانند 'libnss_files' و 'libnss_ldap' آزمایش شده است. ماژولهای شخص ثالث باید از رفتار مستند ماژولهای nss پیروی کنند تا در این پیکربندی استفاده شوند.
entry_cache_timeout (integer)
برچسبهای زمان انقضای حافظه موقت به عنوان مشخصههای اشیاء جداگانه در حافظه موقت ذخیره میشوند. بنابراین، تغییر مهلت زمانی حافظه موقت فقط برای ورودیهای تازه اضافهشده یا منقضیشده تأثیر دارد. برای تحمیل تازهسازی ورودیهایی که قبلاً در حافظه موقت ذخیره شدهاند، باید ابزار sss_cache(8) را اجرا کنید.
پیشفرض: 5400
entry_cache_user_timeout (integer)
پیشفرض: entry_cache_timeout
entry_cache_group_timeout (integer)
پیشفرض: entry_cache_timeout
entry_cache_netgroup_timeout (integer)
پیشفرض: entry_cache_timeout
entry_cache_service_timeout (integer)
پیشفرض: entry_cache_timeout
entry_cache_resolver_timeout (integer)
پیشفرض: entry_cache_timeout
entry_cache_sudo_timeout (integer)
پیشفرض: entry_cache_timeout
entry_cache_autofs_timeout (integer)
پیشفرض: entry_cache_timeout
entry_cache_ssh_host_timeout (integer)
پیشفرض: entry_cache_timeout
entry_cache_computer_timeout (integer)
پیشفرض: entry_cache_timeout
offline_timeout (integer)
new_delay = Minimum(old_delay * 2, offline_timeout_max) + random[0...offline_timeout_random_offset]
مقدار پیشفرض offline_timeout برابر ۶۰ است. مقدار پیشفرض offline_timeout_max برابر ۳۶۰۰ است. مقدار پیشفرض offline_timeout_random_offset برابر ۳۰ است. نتیجه نهایی تعداد ثانیهها تا تلاش بعدی است.
توجه داشته باشید که حداکثر طول هر بازه توسط offline_timeout_max تعیین میشود (به جز بخش تصادفی).
پیشفرض: 60
offline_timeout_max (integer)
مقدار 0 رفتار افزایشی را غیرفعال میکند.
مقدار این پارامتر باید در هماهنگی با مقدار پارامتر offline_timeout تنظیم شود.
با تنظیم offline_timeout روی 60 (مقدار پیشفرض)، تنظیم offline_timeout_max روی کمتر از 120 فایدهای ندارد زیرا فوراً اشباع میشود. قانون کلی در اینجا این است که offline_timeout_max حداقل ۴ برابر offline_timeout تنظیم شود.
اگرچه میتوان مقداری بین 0 و offline_timeout مشخص کرد، اما تأثیر آن بازنویسی مقدار offline_timeout است و بنابراین کاربرد کمی دارد.
پیشفرض: 3600
offline_timeout_random_offset (integer)
new_delay = Minimum(old_delay * 2, offline_timeout_max) + random[0...offline_timeout_random_offset]
این پارامتر مقدار آفست تصادفی مورد استفاده در معادله فوق را کنترل میکند. مقدار نهایی random_offset یک عدد تصادفی در محدوده زیر خواهد بود:
[0 - offline_timeout_random_offset]
مقدار 0 اضافه شدن آفست تصادفی را غیرفعال میکند.
پیشفرض: 30
refresh_expired_interval (integer)
تازهسازی پسزمینه کاربران، گروهها و netgroupها را در حافظه موقت پردازش میکند. برای کاربرانی که عملیات initgroups (دریافت عضویت در گروه برای کاربر، معمولاً در زمان ورود اجرا میشود) را در گذشته انجام دادهاند، هم ورودی کاربر و هم عضویت در گروه بهروزرسانی میشوند.
این گزینه بهطور خودکار برای همه دامنههای مورد اعتماد به ارث برده میشود.
میتوانید تنظیم این مقدار روی 3/4 * entry_cache_timeout را مد نظر قرار دهید.
ورودی حافظه موقت زمانی توسط وظیفه پسزمینه تازهسازی میشود که 2/3 از مهلت زمانی حافظه موقت گذشته باشد. اگر ورودیهای ذخیرهشده فعلی وجود داشته باشد، وظیفه پسزمینه به مقادیر اصلی مهلت زمانی حافظه موقت آنها به جای مقدار پیکربندی فعلی رجوع میکند. این ممکن است به وضعیتی منجر شود که در آن به نظر میرسد وظیفه تازهسازی پسزمینه کار نمیکند. این امر با هدف بهبود عملکرد حالت آفلاین و استفاده مجدد از ورودیهای معتبر موجود در حافظه موقت طراحی شده است. برای فوری شدن این تغییر، کاربر ممکن است بخواهد حافظه موقت موجود را بهطور دستی باطل کند.
پیشفرض: 0 (غیرفعال)
cache_credentials (bool)
توجه داشته باشید که اگرچه اعتبارنامهها به صورت یک هش سالتشده SHA512 ذخیره میشوند، اما این کار در صورتی که مهاجمی موفق به دسترسی به پرونده حافظه موقت شود (معمولاً نیازمند دسترسی ممتاز است) و گذرواژه را با حمله brute force بشکند، همچنان خطرات امنیتی بالقوهای ایجاد میکند.
پیشفرض: FALSE
cache_credentials_minimal_first_factor_length (int)
این گزینه مانع از آن میشود که PINهای کوتاه یک طرح 2FA مبتنی بر PIN در حافظه موقت ذخیره شوند، چرا که آنها را به اهداف آسانی برای حملات brute-force تبدیل میکند.
پیشفرض: 8
account_cache_expiration (integer)
پیشفرض: 0 (نامحدود)
pwd_expiration_warning (integer)
اگر صفر تنظیم شود، این فیلتر اعمال نمیشود، یعنی اگر هشدار انقضا از سرور بخش پشتیبان دریافت شود، بهطور خودکار نمایش داده خواهد شد.
لطفاً توجه داشته باشید که سرور بخش پشتیبان باید اطلاعات مربوط به زمان انقضای گذرواژه را ارائه دهد. در صورت مفقود بودن این اطلاعات، sssd نمیتواند هشداری نمایش دهد. همچنین یک ارائهدهنده احراز هویت (auth provider) باید برای بخش پشتیبان پیکربندی شده باشد.
پیشفرض: 7 (Kerberos), 0 (LDAP)
id_provider (string)
“proxy”: پشتیبانی از یک ارائهدهنده قدیمی NSS.
“ldap”: ارائهدهنده LDAP. برای اطلاعات بیشتر در مورد پیکربندی LDAP به sssd-ldap(5) مراجعه کنید.
“ipa”: ارائهدهنده FreeIPA و Red Hat Identity Management. برای اطلاعات بیشتر درباره پیکربندی FreeIPA به sssd-ipa(5) مراجعه کنید.
“ad”: ارائهدهنده Active Directory. برای اطلاعات بیشتر درباره پیکربندی اکتیو دایرکتوری به sssd-ad(5) مراجعه کنید.
“idp”: ارائهدهنده برای ارائهدهندگان هویت مبتنی بر OAuth 2.0/OIDC (IdP). برای اطلاعات بیشتر به sssd-idp(5) مراجعه کنید.
use_fully_qualified_names (bool)
در صورت تنظیم روی TRUE، تمام درخواستها به این دامنه باید از نامهای کاملاً واجد شرایط استفاده کنند. به عنوان مثال، اگر در دامنه EXAMPLE که شامل یک کاربر "test" است استفاده شود، getent passwd test کاربر را پیدا نمیکند در حالی که getent passwd test@EXAMPLE پیدا خواهد کرد.
یادداشت: این گزینه به دلیل تمایل netgroupها به گنجاندن netgroupهای تو در تو بدون نامهای واجد شرایط، هیچ تأثیری بر جستجوهای netgroup ندارد. برای netgroupها، هنگامی که یک نام غیر واجد شرایط درخواست شود، تمام دامنهها جستجو خواهند شد.
پیشفرض: FALSE (برای دامنه مورد اعتماد/زیردامنهها یا در صورت استفاده از default_domain_suffix برابر TRUE است)
ignore_group_members (bool)
در صورت تنظیم روی TRUE، مشخصه عضویت گروه از سرور ldap درخواست نمیشود، و اعضای گروه هنگام پردازش فراخوانیهای جستجوی گروه مانند getgrnam(3) یا getgrgid(3) بازگردانده نمیشوند. در نتیجه، “getent group $groupname” گروه درخواستی را به گونهای بازمیگرداند که گویی خالی بوده است.
فعال کردن این گزینه همچنین میتواند بررسیهای ارائهدهنده دسترسی برای عضویت در گروه را به ویژه برای گروههای دارای اعضای زیاد، بهطور چشمگیری سریعتر کند.
این گزینه را میتوان به ازای هر زیردامنه نیز تنظیم کرد یا از طریق subdomain_inherit به ارث برد.
پیشفرض: FALSE
auth_provider (string)
“ldap” برای احراز هویت بومی LDAP. برای اطلاعات بیشتر درباره پیکربندی LDAP به sssd-ldap(5) مراجعه کنید.
“krb5” برای احراز هویت Kerberos. برای اطلاعات بیشتر درباره پیکربندی Kerberos به sssd-krb5(5) مراجعه کنید.
“ipa”: ارائهدهنده FreeIPA و Red Hat Identity Management. برای اطلاعات بیشتر درباره پیکربندی FreeIPA به sssd-ipa(5) مراجعه کنید.
“ad”: ارائهدهنده Active Directory. برای اطلاعات بیشتر درباره پیکربندی اکتیو دایرکتوری به sssd-ad(5) مراجعه کنید.
“idp”: ارائهدهنده برای احراز هویت مبتنی بر OAuth 2.0/OIDC. برای اطلاعات بیشتر به sssd-idp(5) مراجعه کنید.
“proxy” برای بازپخش احراز هویت به یک هدف دیگر PAM.
“none” احراز هویت را صریحاً غیرفعال میکند.
پیشفرض: اگر “id_provider” تنظیم شده باشد و بتواند درخواستهای احراز هویت را مدیریت کند، از آن استفاده میشود.
access_provider (string)
“permit” همیشه دسترسی را مجاز بدار.
“deny” همیشه دسترسی را رد کن.
“ldap” برای احراز هویت بومی LDAP. برای اطلاعات بیشتر درباره پیکربندی LDAP به sssd-ldap(5) مراجعه کنید.
“ipa”: ارائهدهنده FreeIPA و Red Hat Identity Management. برای اطلاعات بیشتر درباره پیکربندی FreeIPA به sssd-ipa(5) مراجعه کنید.
“ad”: ارائهدهنده Active Directory. برای اطلاعات بیشتر درباره پیکربندی اکتیو دایرکتوری به sssd-ad(5) مراجعه کنید.
“simple” کنترل دسترسی بر اساس فهرستهای اجازه یا عدم اجازه. برای اطلاعات بیشتر درباره پیکربندی ماژول دسترسی ساده به sssd-simple(5) مراجعه کنید.
“krb5”: کنترل دسترسی مبتنی بر k5login. برای اطلاعات بیشتر درباره پیکربندی Kerberos به sssd-krb5(5) مراجعه کنید.
“proxy” برای بازپخش کنترل دسترسی به یک ماژول دیگر PAM.
پیشفرض: “permit”
chpass_provider (string)
“ldap” برای تغییر گذرواژه ذخیرهشده در سرور LDAP. برای اطلاعات بیشتر درباره پیکربندی LDAP به sssd-ldap(5) مراجعه کنید.
“krb5” برای تغییر گذرواژه Kerberos. برای اطلاعات بیشتر درباره پیکربندی Kerberos به sssd-krb5(5) مراجعه کنید.
“ipa”: ارائهدهنده FreeIPA و Red Hat Identity Management. برای اطلاعات بیشتر درباره پیکربندی FreeIPA به sssd-ipa(5) مراجعه کنید.
“ad”: ارائهدهنده Active Directory. برای اطلاعات بیشتر درباره پیکربندی اکتیو دایرکتوری به sssd-ad(5) مراجعه کنید.
“proxy” برای بازپخش تغییرات گذرواژه به یک هدف دیگر PAM.
“none” تغییرات گذرواژه را صریحاً غیرمجاز میسازد.
پیشفرض: اگر “auth_provider” تنظیم شده باشد و بتواند درخواستهای تغییر گذرواژه را مدیریت کند، از آن استفاده میشود.
sudo_provider (string)
“ldap” برای قوانین ذخیرهشده در LDAP. برای اطلاعات بیشتر درباره پیکربندی LDAP به sssd-ldap(5) مراجعه کنید.
“ipa” همانند “ldap” اما با تنظیمات پیشفرض IPA.
“ad” همانند “ldap” اما با تنظیمات پیشفرض AD.
“none” قابلیت SUDO را صریحاً غیرفعال میکند.
پیشفرض: مقدار “id_provider” در صورتی که تنظیم شده باشد و بتواند درخواستهای sudo را مدیریت کند استفاده میشود.
دستورالعملهای دقیق برای پیکربندی sudo_provider در صفحه راهنمای sssd-sudo(5) آمده است. گزینههای پیکربندی متعددی وجود دارد که میتواند برای تنظیم رفتار استفاده شود. لطفاً به "ldap_sudo_*" در sssd-ldap(5) مراجعه کنید.
یادداشت: قوانین Sudo به صورت دورهای در پسزمینه بارگیری میشوند مگر اینکه ارائهدهنده sudo صریحاً غیرفعال شده باشد. اگر اصلاً نمیخواهید از sudo با SSSD استفاده کنید، sudo_provider = None را تنظیم کنید تا تمام فعالیتهای مرتبط با sudo در SSSD غیرفعال شوند.
selinux_provider (string)
“ipa” برای بارگیری تنظیمات selinux از سرور IPA. برای اطلاعات بیشتر درباره پیکربندی IPA به sssd-ipa(5) مراجعه کنید.
“none” دریافت تنظیمات selinux را صریحاً غیرمجاز میسازد.
پیشفرض: اگر “id_provider” تنظیم شده باشد و بتواند درخواستهای بارگیری selinux را مدیریت کند، از آن استفاده میشود.
subdomains_provider (string)
“ipa” برای بارگیری فهرستی از زیردامنهها از سرور IPA. برای اطلاعات بیشتر درباره پیکربندی IPA به sssd-ipa(5) مراجعه کنید.
“ad” برای بارگیری فهرستی از زیردامنهها از سرور Active Directory. برای اطلاعات بیشتر درباره پیکربندی ارائهدهنده AD به sssd-ad(5) مراجعه کنید.
“none” واکشی زیردامنهها را صریحاً غیرمجاز میسازد.
پیشفرض: مقدار “id_provider” در صورتی که تنظیم شده باشد و بتواند درخواستهای زیردامنه را مدیریت کند استفاده میشود.
session_provider (string)
“ipa” برای اجازه به انجام وظایف مرتبط با نشست کاربر.
“none” هیچ نوع وظیفه مرتبط با نشست کاربر را انجام نمیدهد.
پیشفرض: “none”.
autofs_provider (string)
“ldap” برای بارگیری نقشههای ذخیرهشده در LDAP. برای اطلاعات بیشتر درباره پیکربندی LDAP به sssd-ldap(5) مراجعه کنید.
“ipa” برای بارگیری نقشههای ذخیرهشده در سرور IPA. برای اطلاعات بیشتر درباره پیکربندی IPA به sssd-ipa(5) مراجعه کنید.
“ad” برای بارگیری نقشههای ذخیرهشده در سرور AD. برای اطلاعات بیشتر درباره پیکربندی ارائهدهنده AD به sssd-ad(5) مراجعه کنید.
“none” سرویس autofs را صریحاً غیرفعال میکند.
پیشفرض: مقدار “id_provider” در صورتی که تنظیم شده باشد و بتواند درخواستهای autofs را مدیریت کند استفاده میشود.
hostid_provider (string)
“ipa” برای بارگیری هویت میزبان ذخیرهشده در سرور IPA. برای اطلاعات بیشتر درباره پیکربندی IPA به sssd-ipa(5) مراجعه کنید.
“none” سرویس hostid را صریحاً غیرفعال میکند.
پیشفرض: مقدار “id_provider” در صورتی که تنظیم شده باشد و بتواند درخواستهای hostid را مدیریت کند استفاده میشود.
resolver_provider (string)
“proxy” برای ارسال جستجوها به یک کتابخانه دیگر NSS. به “proxy_resolver_lib_name” مراجعه کنید.
“ldap” برای واکشی میزبانها و شبکههای ذخیرهشده در LDAP. برای اطلاعات بیشتر درباره پیکربندی LDAP به sssd-ldap(5) مراجعه کنید.
“ad” برای واکشی میزبانها و شبکههای ذخیرهشده در AD. برای اطلاعات بیشتر درباره پیکربندی ارائهدهنده AD به sssd-ad(5) مراجعه کنید.
“none” واکشی میزبانها و شبکهها را صریحاً غیرمجاز میسازد.
پیشفرض: مقدار “id_provider” در صورتی که تنظیم شده باشد و بتواند درخواستهای resolver را مدیریت کند استفاده میشود.
re_expression (string)
پیشفرض: “^((?P<name>.+)@(?P<domain>[^@]*)|(?P<name>[^@]+))$” که دو شیوه مختلف را برای نامهای کاربری مجاز میداند:
پیشفرض برای ارائهدهنده AD و IPA: “^(((?P<domain>[^\\]+)\\(?P<name>.+))|((?P<name>.+)@(?P<domain>[^@]+))|((?P<name>[^@\\]+)))$” که سه شیوه مختلف را برای نامهای کاربری مجاز میداند:
در حالی که دو مورد اول با پیشفرض کلی مطابقت دارند، مورد سوم برای تسهیل یکپارچهسازی کاربران دامنههای ویندوز معرفی شده است.
عبارت منظم پیشفرض re_expression از نویسه “@” به عنوان جداکننده بین نام و دامنه استفاده میکند. در نتیجه این تنظیم، پیشفرض نویسه “@” را در نامهای کوتاه نمیپذیرد (همانطور که در نام گروههای ویندوز مجاز است). اگر کاربری مایل به استفاده از نامهای کوتاه حاوی “@” باشد، باید re_expression سفارشی خود را ایجاد کند.
full_name_format (string)
بسطهای زیر پشتیبانی میشوند:
%1$s
%2$s
%3$s
پیشفرض: “%1$s@%2$s”.
lookup_family_order (string)
مقادیر پشتیبانیشده:
ipv4_first: تلاش برای جستجوی نشانی IPv4، و در صورت شکست، تلاش برای IPv6
ipv4_only: تلاش برای تحلیل نامهای میزبان فقط به نشانیهای IPv4.
ipv6_first: تلاش برای جستجوی نشانی IPv6، و در صورت شکست، تلاش برای IPv4
ipv6_only: تلاش برای تحلیل نامهای میزبان فقط به نشانیهای IPv6.
پیشفرض: ipv4_first
dns_resolver_server_timeout (integer)
ارائهدهنده AD از این گزینه برای مهلتهای زمانی ping CLDAP نیز استفاده خواهد کرد.
لطفاً برای اطلاعات بیشتر درباره وضوح سرویس به بخش “FAILOVER” مراجعه کنید.
پیشفرض: 1000
dns_resolver_op_timeout (integer)
لطفاً برای اطلاعات بیشتر درباره وضوح سرویس به بخش “FAILOVER” مراجعه کنید.
پیشفرض: 3
dns_resolver_timeout (integer)
لطفاً برای اطلاعات بیشتر درباره وضوح سرویس به بخش “FAILOVER” مراجعه کنید.
پیشفرض: 6
dns_resolver_use_search_list (bool)
اگر نامهای دامنه کاملاً واجد شرایط (یا _srv_) در پیکربندی SSSD استفاده شوند، تنظیم این گزینه روی FALSE میتواند از جستجوهای غیرضروری DNS در چنین محیطهایی جلوگیری کند.
پیشفرض: TRUE
dns_discovery_domain (string)
پیشفرض: استفاده از بخش دامنه نام میزبان ماشین
failover_primary_timeout (integer)
یادداشت: حداقل مقدار ۳۱ است.
پیشفرض: 31
override_gid (integer)
پیشفرض: تنظیم نشده (استفاده از مقدار GID اصلی بازیابیشده از ارائهدهنده هویت)
case_sensitive (string)
True
False
Preserving
اگر میخواهید این مقدار را برای دامنه مورد اعتماد با ارائهدهنده IPA تنظیم کنید، باید آن را هم روی کلاینت و هم SSSD روی سرور تنظیم نمایید.
این گزینه را میتوان به ازای هر زیردامنه نیز تنظیم کرد یا از طریق subdomain_inherit به ارث برد.
پیشفرض: True (برای ارائهدهنده AD برابر False)
avoid_by_id_lookups (boolean)
این گزینه میتواند برای مثال در مواردی استفاده شود که جستجوها بر اساس شناسه به دلیل مفقود بودن نمایه در سمت سرور گران هستند یا حتی ممکن نیستند، مانند نگاشت غیرقابل برگشت شناسه POSIX.
پیشفرض: False (برای ارائهدهنده IdP برابر True)
subdomain_inherit (string)
ldap_search_timeout
ldap_network_timeout
ldap_opt_timeout
ldap_offline_timeout
ldap_purge_cache_timeout
ldap_purge_cache_offset
ldap_krb5_keytab (در صورتی که ldap_krb5_keytab صریحاً تنظیم نشده باشد، از مقدار krb5_keytab استفاده میشود)
ldap_krb5_ticket_lifetime
ldap_connection_expire_timeout
ldap_connection_expire_offset
ldap_connection_idle_timeout
ldap_use_tokengroups
ldap_user_principal
ignore_group_members
auto_private_groups
case_sensitive
مثال:
subdomain_inherit = ldap_purge_cache_timeout
پیشفرض: none
یادداشت: این گزینه فقط با ارائهدهندگان IPA و AD کار میکند.
subdomain_homedir (string)
%F
این مقدار میتواند با گزینه override_homedir بازنویسی شود.
پیشفرض: /home/%d/%u
realmd_tags (string)
cached_auth_timeout (int)
مقدار این گزینه توسط تمام دامنههای مورد اعتماد به ارث برده میشود. در حال حاضر امکان تنظیم مقدار متفاوت به ازای هر دامنه مورد اعتماد وجود ندارد.
مقدار ویژه 0 نشان میدهد که این قابلیت غیرفعال است.
لطفاً توجه داشته باشید اگر “cached_auth_timeout” طولانیتر از “pam_id_timeout” باشد، بخش پشتیبان میتواند برای مدیریت “initgroups.” فراخوانی شود.
پیشفرض: 0
local_auth_policy (string)
سه مقدار ممکن برای این گزینه وجود دارد: match، only، enable. مقدار “match” برای تطبیق وضعیتهای آفلاین و برخط برای روشهای Kerberos استفاده میشود. مقدار “only” روشهای برخط را نادیده میگیرد و فقط روشهای محلی را ارائه میدهد. مقدار enable امکان تعریف صریح روشها را برای احراز هویت محلی فراهم میسازد. به عنوان مثال، “enable:passkey”، فقط کلید عبور را برای احراز هویت محلی فعال میکند. مقادیر چندگانه enable باید با کاما جدا شوند، مانند “enable:passkey, enable:smartcard”
جدول زیر نشان میدهد کدام روشهای احراز هویت، در صورت پیکربندی مناسب، در حال حاضر برای هر بخش پشتیبان با local_auth_policy پیشفرض فعال یا غیرفعال هستند: “match”
| local_auth_policy = match (پیشفرض) | ||
| Passkey | Smartcard | |
| IPA | enabled | enabled |
| AD | disabled | enabled |
| LDAP | disabled | disabled |
لطفاً توجه داشته باشید در صورت فعال بودن احراز هویت محلی با کارت هوشمند و وجود یک کارت هوشمند، احراز هویت با کارت هوشمند بر روشهای احراز هویت پشتیبانیشده توسط بخش پشتیبان ترجیح داده خواهد شد؛ یعنی به جای مثلاً اعلان گذرواژه، یک اعلان PIN وجود خواهد داشت.
مثال پیکربندی زیر به کاربران محلی اجازه میدهد با استفاده از هر روش فعالشدهای (مانند کارت هوشمند، کلید عبور) بهصورت محلی احراز هویت کنند.
[domain/shadowutils] id_provider = proxy proxy_lib_name = files auth_provider = none local_auth_policy = only
پیشفرض: match
auto_private_groups (string)
true
یادداشت: از آنجا که شماره GID و گروه خصوصی کاربر از شماره UID استنباط میشوند، وجود ورودیهای متعدد با شماره UID یا GID یکسان با این گزینه پشتیبانی نمیشود. به عبارت دیگر، فعال کردن این گزینه یکتایی را در فضای شناسه اعمال میکند.
false
hybrid
اگر UID و GID یک کاربر متفاوت باشند، GID باید با یک ورودی گروه مطابقت داشته باشد، وگرنه GID به سادگی قابل وضوح نیست.
این ویژگی برای محیطهایی مفید است که مایلند نگهداری اشیاء گروه جداگانه برای گروههای خصوصی کاربر را متوقف کنند، اما همچنین میخواهند گروههای خصوصی کاربر موجود را حفظ نمایند.
برای ارائهدهندگان شناسه مبتنی بر LDAP (مانند LDAP، IPA و AD) مقدار پیشفرض برای دامنه پیکربندیشده معمولاً False است زیرا منابع دارای مفهوم گروه اصلی هستند. ارائهدهنده شناسه IdP از True استفاده میکند زیرا IdPها معمولاً فاقد گروههای اصلی هستند.
برای زیردامنهها، مقدار پیشفرض برای زیردامنههایی که از شناسههای اختصاصیافته POSIX استفاده میکنند False و برای زیردامنههایی که از نگاشت خودکار شناسه استفاده میکنند True است.
مقدار auto_private_groups میتواند به ازای هر زیردامنه در یک زیربخش تنظیم شود، به عنوان مثال:
[domain/forest.domain/sub.domain] auto_private_groups = false
یا بهطور سراسری برای همه زیردامنهها در بخش اصلی دامنه با استفاده از گزینه subdomain_inherit:
[domain/forest.domain] subdomain_inherit = auto_private_groups auto_private_groups = false
گزینههای معتبر برای دامنههای پروکسی (proxy domains).
proxy_pam_target (string)
پیشفرض: بهطور پیشفرض تنظیم نشده است، باید یک پیکربندی pam موجود را انتخاب کنید یا پیکربندی جدیدی ایجاد کرده و نام سرویس را در اینجا اضافه نمایید. به عنوان جایگزین میتوانید احراز هویت محلی را با گزینه local_auth_policy فعال کنید.
proxy_lib_name (string)
proxy_resolver_lib_name (string)
proxy_fast_alias (boolean)
پیشفرض: false
proxy_max_children (integer)
پیشفرض: 10
ابزار SSSD با رابط D-Bus خود (به sssd-ifp(5) مراجعه کنید) برای برنامههای کاربردی به عنوان یک درگاه به دایرکتوری LDAP که در آن کاربران و گروهها ذخیره شدهاند، جذاب است. با این حال، بر خلاف استقرار سنتی SSSD که در آن همه کاربران و گروهها دارای مشخصههای POSIX هستند یا میتوان آن مشخصهها را از SIDهای ویندوز استنباط کرد، در بسیاری از موارد کاربران و گروهها در سناریوی پشتیبانی از برنامههای کاربردی فاقد مشخصههای POSIX هستند. به جای تنظیم یک بخش “[domain/NAME]”، مدیر سیستم میتواند یک بخش “[application/NAME]” ایجاد کند که در داخل نشاندهنده یک دامنه با نوع “application” است و به صورت اختیاری تنظیمات را از یک دامنه سنتی SSSD به ارث میبرد.
لطفاً توجه داشته باشید که دامنه کاربردی همچنان باید صریحاً در پارامتر “domains” فعال شود تا ترتیب جستجو بین دامنه کاربردی و دامنه همتای POSIX آن به درستی تنظیم گردد.
پارامترهای دامنه کاربردی
inherit_from (string)
پیشفرض: تنظیم نشده
مثال زیر استفاده از یک دامنه کاربردی را نشان میدهد. در این راهاندازی، دامنه POSIX به یک سرور LDAP متصل است و توسط سیستمعامل از طریق پاسخدهنده NSS استفاده میشود. علاوه بر این، دامنه کاربردی همچنین مشخصه telephoneNumber را درخواست میکند، آن را به عنوان مشخصه phone در حافظه موقت ذخیره مینماید و مشخصه phone را از طریق رابط D-Bus در دسترس قرار میدهد.
[sssd] domains = appdom, posixdom [ifp] user_attributes = +phone [domain/posixdom] id_provider = ldap ldap_uri = ldap://ldap.example.com ldap_search_base = dc=example,dc=com [application/appdom] inherit_from = posixdom ldap_user_extra_attrs = phone:telephoneNumber
بخش دامنه مورد اعتماد (TRUSTED DOMAIN SECTION)
برخی از گزینههای استفادهشده در بخش دامنه میتوانند در بخش دامنه مورد اعتماد نیز استفاده شوند، یعنی در بخشی به نام “[domain/DOMAIN_NAME/TRUSTED_DOMAIN_NAME]”. که در آن DOMAIN_NAME دامنه پایه واقعی است که به آن پیوستهاید. لطفاً برای توضیحات به مثالهای زیر مراجعه کنید. گزینههای پشتیبانیشده در حال حاضر در بخش دامنه مورد اعتماد عبارتند از:
ldap_search_base,
ldap_user_search_base,
ldap_group_search_base,
ldap_netgroup_search_base,
ldap_service_search_base,
ldap_sasl_mech,
ad_server,
ad_backup_server,
ad_site,
use_fully_qualified_names
pam_gssapi_services
pam_gssapi_check_upn
برای جزئیات بیشتر درباره این گزینهها، به توضیحات جداگانه آنها در صفحه راهنما مراجعه کنید.
بخش نگاشت گواهی (CERTIFICATE MAPPING SECTION)
برای مجاز کردن احراز هویت با کارتهای هوشمند و گواهیها، SSSD باید قادر به نگاشت گواهیها به کاربران باشد. این کار میتواند با افزودن گواهی کامل به شیء LDAP کاربر یا به یک بازنویسی محلی انجام شود. در حالی که استفاده از گواهی کامل برای استفاده از ویژگی احراز هویت با کارت هوشمند در SSH الزامی است (برای جزئیات به sss_ssh_authorizedkeys(8) مراجعه کنید)، اما انجام این کار برای حالت کلی که در آن سرویسهای محلی از PAM برای احراز هویت استفاده میکنند ممکن است دشوار یا حتی غیرممکن باشد.
برای انعطافپذیرتر کردن نگاشت، قوانین نگاشت و تطبیق به SSSD اضافه شدند (برای جزئیات به sss-certmap(5) مراجعه کنید).
یک قانون نگاشت و تطبیق میتواند به پیکربندی SSSD در بخشی مستقل با نامی مانند “[certmap/DOMAIN_NAME/RULE_NAME]” اضافه شود. در این بخش گزینههای زیر مجاز هستند:
matchrule (string)
پیشفرض: KRB5:<EKU>clientAuth، یعنی فقط گواهیهایی که دارای کاربرد کلید توسعهیافته (Extended Key Usage) “clientAuth” هستند.
maprule (string)
پیشفرض:
domains (string)
پیشفرض: دامنه پیکربندیشده در sssd.conf
priority (integer)
پیشفرض: کمترین اولویت
بخش پیکربندی اعلانها (PROMPTING CONFIGURATION SECTION)
اگر یک پرونده ویژه (/var/lib/sss/pubconf/pam_preauth_available) وجود داشته باشد، ماژول pam_sss متعلق به SSSD PAM از SSSD میخواهد بررسی کند کدام روشهای احراز هویت برای کاربری که در حال ورود به سیستم است در دسترس هستند. بر اساس نتایج، pam_sss برای دریافت اعتبارنامههای مناسب به کاربر اعلان نمایش میدهد.
با افزایش تعداد روشهای احراز هویت و احتمال وجود روشهای متعدد برای یک کاربر منفرد، روش ابتکاری (heuristic) مورد استفاده توسط pam_sss برای انتخاب اعلان ممکن است برای همه موارد کاربرد مناسب نباشد. گزینههای زیر انعطافپذیری بهتری را در اینجا فراهم میکنند.
هر روش احراز هویت پشتیبانیشده دارای زیربخش پیکربندی اختصاصی خود در زیر “[prompting/...]” است. در حال حاضر موارد زیر وجود دارند:
[prompting/password]
password_prompt
[prompting/2fa]
first_prompt
second_prompt
single_prompt
اگر فاکتور دوم اختیاری باشد و باید امکان ورود به سیستم چه فقط با گذرواژه یا با هر دو فاکتور وجود داشته باشد، باید از اعلان دو مرحلهای استفاده شود.
برخی از کلاینتها، مانند SSH با 'PasswordAuthentication yes'، اعلانهای خود را تولید میکنند و از اعلانهای ارائهشده توسط SSSD یا سایر ماژولهای PAM استفاده نمینمایند. علاوه بر این، برای SSH با PasswordAuthentication، اگر احراز هویت دومرحلهای در دسترس باشد، SSSD انتظار دارد اعتبارنامههای واردشده توسط کاربر در اعلان گذرواژه SSH همواره دو فاکتور در یک رشته منفرد باشند، حتی اگر احراز هویت دومرحلهای اختیاری باشد.
[prompting/passkey]
interactive
interactive_prompt
touch
touch_prompt
[prompting/oauth2]
interactive
اگر False باشد، اطمینان حاصل کنید که “idp_request_timeout” به اندازه کافی بالا تنظیم شده باشد تا به کاربر زمان لازم برای احراز هویت داده شود.
پیشفرض: true
interactive_prompt
امکان افزودن یک زیربخش برای سرویسهای خاص PAM وجود دارد، به عنوان مثال “[prompting/password/sshd]” تا اعلان برای این سرویس به صورت جداگانه تغییر یابد.
مثالها (EXAMPLES)
۱. مثال زیر یک پیکربندی معمول SSSD را نشان میدهد. این مثال پیکربندی خود دامنهها را توصیف نمیکند - برای جزئیات بیشتر به مستندات پیکربندی دامنهها مراجعه کنید.
[sssd] domains = LDAP services = nss, pam [nss] filter_groups = root filter_users = root [pam] [domain/LDAP] id_provider = ldap ldap_uri = ldap://ldap.example.com ldap_search_base = dc=example,dc=com auth_provider = krb5 krb5_server = kerberos.example.com krb5_realm = EXAMPLE.COM cache_credentials = true min_id = 10000 max_id = 20000 enumerate = False
۲. مثال زیر پیکربندی اعتماد IPA AD را نشان میدهد که در آن بیشه (forest) مربوط به AD از دو دامنه در یک ساختار والد-فرزند تشکیل شده است. فرض کنید دامنه IPA (ipa.com) با دامنه AD (ad.com) اعتماد دارد. دامنه ad.com دارای دامنه فرزند (child.ad.com) است. برای فعالسازی نامهای کوتاه در دامنه فرزند باید از پیکربندی زیر استفاده شود.
[domain/ipa.com/child.ad.com] use_fully_qualified_names = false
۳. مثال زیر پیکربندی یک قانون نگاشت گواهی را نشان میدهد. این قانون برای دامنه پیکربندیشده “my.domain” و علاوه بر آن برای زیردامنههای “your.domain” معتبر است و از گواهی کامل در فیلتر جستجو استفاده میکند.
[certmap/my.domain/rule_name]
matchrule = <ISSUER>^CN=My-CA,DC=MY,DC=DOMAIN$
maprule = (userCertificate;binary={cert!bin})
domains = my.domain, your.domain
priority = 10
همچنین ببینید (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 |