SSSD.CONF(5) File Formats and Conventions SSSD.CONF(5)

sssd.conf - پرونده پیکربندی دیمون خدمات امنیت سامانه (SSSD)

این پرونده دارای نگارش شبیه ini است و از بخش‌ها و پارامترها تشکیل شده است. هر بخش با نام بخش در کروشه آغاز می‌شود و تا شروع بخش بعدی ادامه می‌یابد. نمونه‌ای از یک بخش با پارامترهای تک‌مقداری و چندمقداری:

[section]
key = value
key2 = value2,value3

انواع داده‌های مورد استفاده عبارتند از رشته (بدون نیاز به گیومه)، عدد صحیح و بولی (با مقادیر “TRUE/FALSE”).

خط توضیحات با علامت هش (“#”) یا نقطه-ویرگول (“;”) آغاز می‌شود. توضیحات درون‌خطی پشتیبانی نمی‌شوند.

همه بخش‌ها می‌توانند دارای یک پارامتر اختیاری description باشند. کارکرد آن صرفاً به عنوان یک برچسب توصیفی برای بخش است.

پرونده sssd.conf باید یک پرونده معمولی باشد که فقط توسط کاربری که سرویس SSSD با آن اجرا می‌شود یا کاربر ریشه (root) قابل دسترسی است.

پرونده پیکربندی 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 هستند.

گزینه‌های زیر در بیش از یک بخش پیکربندی قابل استفاده هستند.

debug_level (integer)

ابزار SSSD از دو روش برای مشخص کردن سطح اشکال‌زدایی (دیباگ) پشتیبانی می‌کند. ساده‌ترین راه مشخص کردن یک مقدار دهدهی از ۰ تا ۹ است که به منزله فعال‌سازی آن سطح و تمام پیام‌های اشکال‌زدایی سطوح پایین‌تر است. گزینه جامع‌تر مشخص کردن یک بیت‌ماسک هگزادسیمال برای فعال یا غیرفعال کردن سطوح خاص است (مثلاً اگر مایلید یک سطح را سرکوب کنید).

لطفاً توجه داشته باشید که هر سرویس 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)

نگارش 1.14 و بالاتر SSSD نام مستعار debug را برای debug_level به عنوان یک قابلیت راحتی شامل می‌شود. اگر هر دو مشخص شوند، مقدار debug_level استفاده خواهد شد.

debug_timestamps (bool)

افزودن برچسب زمان به پیام‌های اشکال‌زدایی. اگر journald برای وقایع‌نگاری اشکال‌زدایی SSSD فعال باشد، این گزینه نادیده گرفته می‌شود.

پیش‌فرض: true

debug_microseconds (bool)

افزودن میکروثانیه به برچسب زمان در پیام‌های اشکال‌زدایی. اگر journald برای وقایع‌نگاری اشکال‌زدایی SSSD فعال باشد، این گزینه نادیده گرفته می‌شود.

پیش‌فرض: false

debug_backtrace_enabled (bool)

فعال‌سازی ردگیری معکوس (backtrace) اشکال‌زدایی.

در صورتی که SSSD با debug_level کمتر از ۹ اجرا شود، همه‌چیز در یک میانگیر حلقه‌ای در حافظه ثبت شده و در صورت بروز هر خطایی تا و شامل `min(0x0040, debug_level)` در پرونده گزارش تخلیه می‌شود (یعنی اگر debug_level صریحاً روی ۰ یا ۱ تنظیم شده باشد، فقط آن سطوح خطا باعث تخلیه ردگیری معکوس می‌شوند، وگرنه تا سطح ۲).

این قابلیت فقط برای `logger == files` پشتیبانی می‌شود (یعنی این تنظیم برای انواع دیگر وقایع‌نگار تأثیری ندارد).

پیش‌فرض: true

timeout (integer)

مهلت زمانی به ثانیه بین ضربان‌های قلب (heartbeats) برای این سرویس. این برای اطمینان از زنده بودن فرآیند و توانایی پاسخگویی به درخواست‌ها استفاده می‌شود. توجه داشته باشید پس از سه ضربان قلب بی‌پاسخ، فرآیند خود را خاتمه خواهد داد.

پیش‌فرض: 10

بخش‌های مجزای قابلیت‌های SSSD توسط سرویس‌های ویژه SSSD ارائه می‌شوند که همراه با SSSD شروع و متوقف می‌شوند. این سرویس‌ها توسط یک سرویس ویژه که معمولاً “monitor” نامیده می‌شود مدیریت می‌گردند. بخش “[sssd]” برای پیکربندی مانیتور و همچنین برخی گزینه‌های مهم دیگر مانند دامنه‌های هویت استفاده می‌شود.

پارامترهای بخش

services

فهرست جداشده با کاما از سرویس‌هایی که هنگام شروع خود sssd آغاز می‌شوند. فهرست سرویس‌ها در سکوهایی که systemd پشتیبانی می‌شود اختیاری است، زیرا در صورت نیاز از طریق سوکت یا D-Bus فعال خواهند شد.

سرویس‌های پشتیبانی‌شده: nss, pam, ifp , sudo , autofs , ssh , pac

به‌طور پیش‌فرض، همه سرویس‌ها غیرفعال هستند و مدیر سیستم باید سرویس‌های مجاز را با اجرای دستور "systemctl enable sssd-@service@.socket" فعال کند.

domains

دامنه پایگاه‌داده‌ای حاوی اطلاعات کاربران است. SSSD می‌تواند از چندین دامنه به‌طور همزمان استفاده کند، اما دست‌کم یک دامنه باید پیکربندی شود وگرنه SSSD شروع نخواهد شد. این پارامتر فهرست دامنه‌ها را به ترتیبی که می‌خواهید پرس‌وجو شوند توصیف می‌کند. توصیه می‌شود نام دامنه فقط شامل نویسه‌های اسکی حرفی-عددی، خط تیره، نقطه و خط زیرین باشد. استفاده از نویسه '/' ممنوع است.

re_expression (string)

عبارت منظم پیش‌فرضی که نحوه تجزیه رشته حاوی نام کاربر و دامنه را به این مؤلفه‌ها توصیف می‌کند.

هر دامنه می‌تواند دارای یک عبارت منظم اختصاصی پیکربندی‌شده باشد. برای برخی ارائه‌دهندگان هویت، عبارات منظم پیش‌فرض نیز وجود دارد. برای اطلاعات بیشتر در مورد این عبارات منظم به بخش DOMAIN SECTIONS مراجعه کنید.

full_name_format (string)

قالبی سازگار با printf(3) که نحوه ترکیب یک نام کاملاً واجد شرایط را از مؤلفه‌های نام کاربری و نام دامنه توصیف می‌کند.

بسط‌های زیر پشتیبانی می‌شوند:

%1$s

نام کاربری

%2$s

نام دامنه همان‌طور که در پرونده پیکربندی SSSD مشخص شده است.

%3$s

نام تخت (flat name) دامنه. بیشتر برای دامنه‌های اکتیو دایرکتوری، چه به‌طور مستقیم پیکربندی‌شده و چه کشف‌شده از طریق اعتمادهای IPA کاربرد دارد.

هر دامنه می‌تواند دارای یک رشته قالب اختصاصی باشد. برای اطلاعات بیشتر درباره این گزینه به DOMAIN SECTIONS مراجعه کنید.

monitor_resolv_conf (boolean)

کنترل می‌کند که آیا SSSD باید وضعیت resolv.conf را برای تشخیص زمان نیاز به به‌روزرسانی تحلیل‌گر DNS داخلی خود زیر نظر بگیرد یا خیر.

پیش‌فرض: true

try_inotify (boolean)

به‌طور پیش‌فرض، SSSD تلاش می‌کند از inotify برای پایش تغییرات پرونده‌های پیکربندی استفاده کند و در صورت عدم امکان استفاده از inotify، به نظرسنجی دوره‌ای هر پنج ثانیه یک‌بار بازمی‌گردد.

موقعیت‌های محدودی وجود دارد که در آن‌ها ترجیح داده می‌شود حتی از تلاش برای استفاده از inotify صرف‌نظر کنیم. در این موارد نادر، این گزینه باید روی 'false' تنظیم شود.

پیش‌فرض: در سکوهایی که inotify پشتیبانی می‌شود true. در سایر سکوها false.

یادداشت: این گزینه در سکوهایی که inotify در دسترس نیست هیچ تأثیری نخواهد داشت. در این سکوها، نظرسنجی دوره‌ای همیشه استفاده خواهد شد.

krb5_rcache_dir (string)

دایرکتوری روی سیستم پرونده که SSSD باید پرونده‌های حافظه موقت بازپخش Kerberos را در آن ذخیره کند.

این گزینه مقدار ویژه __LIBKRB5_DEFAULTS__ را می‌پذیرد که به SSSD دستور می‌دهد اجازه دهد libkrb5 مکان مناسب را برای حافظه موقت بازپخش تعیین کند.

پیش‌فرض: وابسته به توزیع و مشخص‌شده در زمان ساخت. (اگر پیکربندی نشده باشد __LIBKRB5_DEFAULTS__)

default_domain_suffix (string)

لطفاً توجه داشته باشید که این گزینه منسوخ شده و باید از domain_resolution_order استفاده شود.

این رشته به عنوان نام دامنه پیش‌فرض برای تمام نام‌های فاقد مؤلفه نام دامنه استفاده خواهد شد. کاربرد اصلی آن محیط‌هایی است که دامنه اصلی برای مدیریت سیاست‌های میزبان در نظر گرفته شده و همه کاربران در یک دامنه قابل اعتماد قرار دارند. این گزینه به کاربران امکان می‌دهد فقط با نام کاربری خود و بدون نیاز به وارد کردن نام دامنه وارد سیستم شوند.

لطفاً توجه داشته باشید در صورت تنظیم این گزینه، تمام کاربران دامنه اصلی باید از نام کاملاً واجد شرایط خود، مانند user@domain.name، برای ورود استفاده کنند. تنظیم این گزینه پیش‌فرض use_fully_qualified_names را به True تغییر می‌دهد. استفاده از این گزینه همراه با use_fully_qualified_names تنظیم‌شده روی False مجاز نیست.

پیش‌فرض: تنظیم نشده

override_space (string)

این پارامتر فاصله‌ها (space bar) را با نویسه داده‌شده برای نام‌های کاربر و گروه جایگزین می‌کند. به عنوان مثال (_). نام کاربری "john doe" به "john_doe" تبدیل می‌شود. این ویژگی برای کمک به سازگاری با اسکریپت‌های پوسته اضافه شده است که به دلیل جداکننده فیلد پیش‌فرض در پوسته، در مدیریت فاصله‌ها دچار مشکل می‌شوند.

لطفاً توجه داشته باشید استفاده از نویسه جایگزینی که ممکن است در نام‌های کاربر یا گروه استفاده شود یک خطای پیکربندی است. اگر نامی حاوی نویسه جایگزین باشد، SSSD تلاش می‌کند نام تغییرنیافته را بازگرداند، اما به‌طور کلی نتیجه جستجو تعریف‌نشده است.

پیش‌فرض: تنظیم نشده (فاصله‌ها جایگزین نمی‌شوند)

certificate_verification (string)

با این پارامتر می‌توان اعتبارسنجی گواهی را با فهرستی از گزینه‌های جداشده با کاما تنظیم کرد. گزینه‌های پشتیبانی‌شده عبارتند از:

no_ocsp

غیرفعال کردن بررسی‌های پروتکل وضعیت برخط گواهی (OCSP). این ممکن است در صورتی که سرورهای OCSP تعریف‌شده در گواهی از سمت کلاینت قابل دسترسی نباشند، لازم باشد.

soft_ocsp

اگر اتصال به یک پاسخ‌دهنده OCSP برقرار نشود، از بررسی OCSP صرف‌نظر می‌شود. این گزینه باید برای مجاز کردن احراز هویت در زمانی که سیستم آفلاین است و پاسخ‌دهنده OCSP در دسترس نیست استفاده شود.

ocsp_dgst

تابع خلاصه (هش) مورد استفاده برای ایجاد شناسه گواهی برای درخواست OCSP. مقادیر مجاز عبارتند از:
•sha1
•sha256
•sha384
•sha512

پیش‌فرض: sha1 (برای مجاز کردن سازگاری با پاسخ‌دهنده‌های منطبق با RFC5019)

no_verification

غیرفعال کردن کامل اعتبارسنجی. این گزینه فقط باید برای اهداف آزمایشی استفاده شود.

partial_chain

اجازه به موفقیت اعتبارسنجی حتی در صورتی که ساخت یک زنجیره کامل به یک نقطه اتکای مورد اعتماد (trust-anchor) خودامضاشده ممکن نباشد، به شرطی که بتوان زنجیره‌ای به یک گواهی مورد اعتماد ساخت که شاید خودامضاشده نباشد.

ocsp_default_responder=URL

پاسخ‌دهنده پیش‌فرض OCSP را تنظیم می‌کند که باید به جای پاسخ‌دهنده قیدشده در گواهی استفاده شود. بخش URL باید با نشانی پاسخ‌دهنده پیش‌فرض OCSP جایگزین شود؛ مانند http://example.com:80/ocsp.

ocsp_default_responder_signing_cert=NAME

این گزینه در حال حاضر نادیده گرفته می‌شود. تمامی گواهی‌های مورد نیاز باید در پرونده PEM مشخص‌شده توسط pam_cert_db_path در دسترس باشند.

crl_file=/PATH/TO/CRL/FILE

استفاده از فهرست ابطال گواهی (CRL) موجود در پرونده مشخص‌شده در طول اعتبارسنجی گواهی. فهرست CRL باید در قالب PEM ارائه شود؛ برای جزئیات به crl(1ssl) مراجعه کنید.

soft_crl

اگر یک فهرست ابطال گواهی (CRL) منقضی شده باشد، زمان انقضای CRL را نادیده بگیر و گواهی‌های مرتبط را با CRL منقضی‌شده بررسی کن. این گزینه باید برای مجاز کردن احراز هویت در زمانی که سیستم آفلاین است و CRL قابل تمدید نیست استفاده شود.

گزینه‌های ناشناخته گزارش می‌شوند اما نادیده گرفته خواهند شد.

پیش‌فرض: تنظیم نشده، یعنی عدم محدودسازی اعتبارسنجی گواهی

disable_netlink (boolean)

ابزار SSSD به رابط netlink متصل می‌شود تا تغییرات مسیرها، نشانی‌ها و پیوندها را زیر نظر بگیرد و کنش‌های خاصی را تحریک کند.

تغییرات وضعیت SSSD ناشی از رویدادهای netlink ممکن است نامطلوب باشد و می‌توان با تنظیم این گزینه روی 'true' آن را غیرفعال کرد.

پیش‌فرض: false (تغییرات netlink تشخیص داده می‌شوند)

domain_resolution_order

فهرست جداشده با کاما از دامنه‌ها و زیردامنه‌ها که ترتیب جستجو را مشخص می‌کند. نیازی نیست این فهرست شامل همه دامنه‌های ممکن باشد، زیرا دامنه‌های مفقود بر اساس ترتیبی که در گزینه پیکربندی “domains” آمده‌اند جستجو خواهند شد. زیردامنه‌هایی که در “lookup_order” قید نشده‌اند به ترتیب تصادفی برای هر دامنه والد جستجو می‌شوند.

لطفاً توجه داشته باشید در صورت تنظیم این گزینه، قالب خروجی تمام دستورات همواره کاملاً واجد شرایط (fully-qualified) خواهد بود، حتی زمانی که از نام‌های کوتاه در ورودی استفاده شود. در صورتی که مدیر سیستم بخواهد خروجی کاملاً واجد شرایط نباشد، می‌توان از گزینه full_name_format به شکل زیر استفاده کرد: “full_name_format=%1$s” با این حال به یاد داشته باشید که در زمان ورود، برنامه‌های ورود معمولاً با فراخوانی getpwnam(3) نام کاربری را یکدست می‌کنند که اگر برای یک ورودی واجد شرایط یک نام کوتاه بازگردانده شود (در زمان تلاش برای دسترسی به کاربری که در چندین دامنه وجود دارد)، ممکن است تلاش برای ورود به دامنه‌ای هدایت شود که از نام‌های کوتاه استفاده می‌کند؛ بنابراین این راه‌حل در مواردی که نام‌های کاربری ممکن است بین دامنه‌ها همپوشانی داشته باشند اصلاً توصیه نمی‌شود.

پیش‌فرض: تنظیم نشده

implicit_pac_responder (boolean)

پاسخ‌دهنده PAC به‌طور خودکار برای ارائه‌دهندگان IPA و AD جهت ارزیابی و بررسی PAC فعال می‌شود. اگر نیاز به غیرفعال کردن آن باشد، این گزینه را روی 'false' تنظیم کنید.

پیش‌فرض: true

core_dumpable (boolean)

این گزینه می‌تواند برای مقاوم‌سازی عمومی سیستم استفاده شود: تنظیم آن روی 'false' ایجاد core dump را برای تمامی فرآیندهای SSSD به منظور جلوگیری از افشای گذرواژه‌های متن خام ممنوع می‌کند. برای جزئیات به صفحه راهنمای prctl:PR_SET_DUMPABLE در لینوکس یا procctl:PROC_TRACE_CTL در FreeBSD مراجعه کنید.

توجه داشته باشید که این تنظیم تأثیری بر 'ldap_child'، 'krb5_child' و 'sssd_pam' ندارد، زیرا این فایل‌های اجرایی دارای دسترسی بالا می‌توانند رونوشتی از داده‌های keytab میزبان را در حافظه داشته باشند و رفتار آن‌ها در این مورد تابع تنظیم سیستم /proc/sys/fs/suid_dumpable است.

پیش‌فرض: true

passkey_verification (string)

با این پارامتر می‌توان اعتبارسنجی کلید عبور (passkey) را با فهرستی از گزینه‌های جداشده با کاما تنظیم کرد. گزینه‌های پشتیبانی‌شده عبارتند از:

user_verification (boolean)

فعال یا غیرفعال کردن اعتبارسنجی کاربر (مانند PIN، اثر انگشت) در طول احراز هویت. در صورت فعال بودن، همیشه PIN درخواست خواهد شد.

پیش‌فرض این است که تنظیمات کلید تعیین می‌کنند چه اقدامی انجام شود. در مورد پیش‌احراز هویت IPA یا kerberos، این مقدار توسط سرور بازنویسی خواهد شد.

تنظیماتی که می‌توان برای پیکربندی سرویس‌های مختلف استفاده کرد در این بخش توصیف شده‌اند. آن‌ها باید در بخش [$NAME] قرار گیرند؛ برای مثال برای سرویس NSS، این بخش “[nss]” خواهد بود.

این گزینه‌ها را می‌توان برای پیکربندی هر سرویسی استفاده کرد.

fd_limit

این گزینه حداکثر تعداد توصیف‌کننده‌های پرونده (file descriptors) را مشخص می‌کند که می‌توانند در یک زمان توسط این فرآیند SSSD باز شوند. توجه داشته باشید این مقدار هنگام راه‌اندازی SSSD توسط سامانه init محدود می‌شود؛ برای جزئیات به عنوان مثال به man systemd.exec مراجعه کنید.

پیش‌فرض: 8192 (یا حد "hard" در limits.conf)

client_idle_timeout

این گزینه تعداد ثانیه‌هایی را مشخص می‌کند که کلاینت یک فرآیند SSSD می‌تواند یک توصیف‌کننده پرونده را بدون برقراری ارتباط روی آن باز نگه دارد. این مقدار به منظور جلوگیری از اتمام منابع در سیستم محدود شده است. این مهلت زمانی نمی‌تواند کوتاه‌تر از ۱۰ ثانیه باشد. اگر مقدار کمتری پیکربندی شود، روی ۱۰ ثانیه تنظیم خواهد شد.

پیش‌فرض: 60, KCM: 300

responder_idle_timeout

این گزینه تعداد ثانیه‌هایی را مشخص می‌کند که یک فرآیند پاسخ‌دهنده SSSD می‌تواند بدون استفاده روشن بماند. این مقدار به منظور جلوگیری از اتمام منابع در سیستم محدود شده است. حداقل مقدار قابل قبول برای این گزینه ۶۰ ثانیه است. تنظیم این گزینه روی 0 (صفر) به این معنی است که هیچ مهلت زمانی برای پاسخ‌دهنده تنظیم نخواهد شد. این گزینه فقط زمانی تأثیر دارد که SSSD با پشتیبانی systemd ساخته شده باشد و سرویس‌ها از طریق سوکت یا D-Bus فعال شوند.

پیش‌فرض: 300

cache_first

این گزینه مشخص می‌کند که آیا پاسخ‌دهنده باید قبل از پرس‌وجو از ارائه‌دهندگان داده، تمام حافظه‌های موقت را پرس‌وجو کند یا خیر.

پیش‌فرض: true

این گزینه‌ها می‌توانند برای پیکربندی سرویس Name Service Switch (NSS) استفاده شوند.

enum_cache_timeout (integer)

چند ثانیه nss_sss باید شمارش‌ها (درخواست‌های اطلاعات مربوط به تمام کاربران) را در حافظه موقت نگه دارد.

پیش‌فرض: 120

entry_cache_nowait_percentage (integer)

حافظه موقت ورودی‌ها را می‌توان طوری تنظیم کرد که در صورتی که ورودی‌ها بعد از درصد مشخصی از مقدار entry_cache_timeout برای دامنه درخواست شوند، به‌طور خودکار در پس‌زمینه به‌روزرسانی شوند.

به عنوان مثال، اگر entry_cache_timeout دامنه روی 30s و entry_cache_nowait_percentage روی 50 (درصد) تنظیم شده باشد، ورودی‌هایی که پس از گذشت ۱۵ ثانیه از آخرین به‌روزرسانی حافظه موقت درخواست شوند، فوراً بازگردانده می‌شوند، اما SSSD خود اقدام به به‌روزرسانی حافظه موقت می‌کند تا درخواست‌های بعدی نیازی به مسدود شدن در انتظار به‌روزرسانی حافظه موقت نداشته باشند.

مقادیر معتبر برای این گزینه 0-99 هستند و درصدی از entry_cache_timeout را برای هر دامنه نشان می‌دهند. به دلایل عملکردی، این درصد هرگز مهلت زمانی nowait را به کمتر از ۱۰ ثانیه کاهش نخواهد داد. (مقدار 0 این قابلیت را غیرفعال می‌کند)

پیش‌فرض: 50

entry_negative_timeout (integer)

مشخص می‌کند nss_sss چند ثانیه باید نتایج منفی حافظه موقت (یعنی پرس‌وجوها برای ورودی‌های نامعتبر پایگاه‌داده، مانند موارد ناموجود) را قبل از درخواست مجدد از بخش پشتیبان (back end) در حافظه موقت نگه دارد.

پیش‌فرض: 15

filter_users, filter_groups (string)

مستثنی کردن کاربران یا گروه‌های خاص از دریافت از پایگاه‌داده sss NSS. این به‌ویژه برای حساب‌های سیستمی مفید است. این گزینه را می‌توان به ازای هر دامنه نیز تنظیم کرد یا شامل نام‌های کاملاً واجد شرایط برای پالایش فقط کاربران از دامنه‌ای خاص یا توسط نام اصلی کاربر (UPN) باشد.

یادداشت: گزینه filter_groups روی توارث اعضای گروه‌های تو در تو تأثیری ندارد، زیرا پالایش پس از انتشار آن‌ها برای بازگرداندن از طریق NSS اتفاق می‌افتد. برای مثال گروهی که یک گروه عضو آن پالایش شده است، همچنان کاربران عضو گروه دوم را در فهرست خواهد داشت.

پیش‌فرض: root

filter_users_in_groups (bool)

اگر می‌خواهید کاربر پالایش‌شده همچنان عضو گروه باشد، این گزینه را روی false تنظیم کنید.

پیش‌فرض: true

override_homedir (string)

بازنویسی دایرکتوری خانگی کاربر. می‌توانید یک مقدار مطلق یا یک الگو ارائه دهید. در الگو، توالی‌های زیر جایگزین می‌شوند:

%u

نام ورود به سیستم (login name)

%U

شماره UID

%d

نام دامنه

%f

نام کاربری کاملاً واجد شرایط (user@domain)

%l

حرف اول نام ورود به سیستم.

%P

شناسه UPN - نام اصلی کاربر (name@REALM)

%o

مقدار دایرکتوری خانگی که در دایرکتوری ارائه‌دهنده هویت تعریف شده است.

این جایگزینی برای استفاده در سناریوی اعتماد IPA-AD طراحی شده است. اگر این جایگزینی برای گزینه subdomain_homedir استفاده شود، مقدار دایرکتوری خانگی را از دامنه AD به کلاینت‌های IPA منتقل می‌کند. در این سناریو، گزینه باید در پیکربندی SSSD روی سرور IPA که در آن SSSD در حالت سرور اجرا می‌شود، تنظیم گردد.

%h

مسیر تعریف‌شده برای مشخصه دایرکتوری homedir ارائه‌دهنده هویت، اما با حروف کوچک. برای جزئیات استفاده به %o مراجعه کنید.

%H

مقدار گزینه پیکربندی homedir_substring.

%%

نویسه واقعی '%'

این گزینه را می‌توان به ازای هر دامنه نیز تنظیم کرد.

مثال:

override_homedir = /home/%u

پیش‌فرض: تنظیم نشده (SSSD از مقدار بازیابی‌شده از LDAP استفاده خواهد کرد)

لطفاً توجه داشته باشید دایرکتوری خانگی حاصل از یک بازنویسی خاص برای کاربر، چه به‌طور محلی (به sss_override(8) مراجعه کنید) یا بازنویسی‌های شناسه IPA مدیریت‌شده به‌صورت مرکزی، اولویت بالاتری دارد و به جای مقدار داده‌شده توسط override_homedir استفاده خواهد شد.

homedir_substring (string)

مقدار این گزینه در بسط گزینه override_homedir در صورتی که الگو حاوی رشته قالب %H باشد، استفاده خواهد شد. یک ورودی دایرکتوری LDAP می‌تواند مستقیماً حاوی این الگو باشد تا بتوان از این گزینه برای بسط مسیر دایرکتوری خانگی برای هر ماشین کلاینت (یا سیستم‌عامل) استفاده کرد. این گزینه را می‌توان به ازای هر دامنه یا به‌طور سراسری در بخش [nss] تنظیم کرد. مقداری که در بخش دامنه مشخص شود، مقدار تنظیم‌شده در بخش [nss] را بازنویسی خواهد کرد.

پیش‌فرض: /home

fallback_homedir (string)

تنظیم یک الگوی پیش‌فرض برای دایرکتوری خانگی کاربر در صورتی که توسط ارائه‌دهنده داده دامنه به‌طور صریح مشخص نشده باشد.

مقادیر موجود برای این گزینه همانند override_homedir هستند.

مثال:

fallback_homedir = /home/%u

پیش‌فرض: تنظیم نشده (هیچ جایگزینی برای دایرکتوری‌های خانگی تنظیم‌نشده وجود ندارد)

override_shell (string)

بازنویسی پوسته ورود به سیستم برای همه کاربران. این گزینه در صورت اعمال، بر هر گزینه پوسته دیگری برتری دارد و می‌تواند در بخش [nss] یا به ازای هر دامنه تنظیم شود.

پیش‌فرض: تنظیم نشده (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

shell_fallback (string)

پوسته پیش‌فرضی که در صورت نصب نبودن یک پوسته مجاز روی ماشین استفاده می‌شود.

پیش‌فرض: /bin/sh

default_shell

پوسته پیش‌فرضی که اگر ارائه‌دهنده در حین جستجو مقداری بازنگرداند استفاده می‌شود. این گزینه را می‌توان به‌طور سراسری در بخش [nss] یا به ازای هر دامنه مشخص کرد.

پیش‌فرض: تنظیم نشده (در صورت عدم تعیین پوسته NULL بازمی‌گرداند و برای جایگزینی مقداری معقول در صورت لزوم، معمولاً /bin/sh، به libc تکیه می‌کند)

get_domains_timeout (int)

زمان به ثانیه را مشخص می‌کند که طی آن فهرست زیردامنه‌ها معتبر تلقی خواهد شد.

پیش‌فرض: 60

memcache_timeout (integer)

مدت زمان به ثانیه را مشخص می‌کند که طی آن رکوردهای موجود در حافظه موقت درون‌حافظه‌ای (in-memory) معتبر خواهند بود. تنظیم این گزینه روی صفر، حافظه موقت درون‌حافظه‌ای را غیرفعال می‌کند.

پیش‌فرض: 300

هشدار: غیرفعال کردن حافظه موقت درون‌حافظه‌ای تأثیر منفی چشمگیری بر عملکرد SSSD خواهد داشت و فقط باید برای اهداف آزمایشی استفاده شود.

یادداشت: اگر متغیر محیطی SSS_NSS_USE_MEMCACHE روی "NO" تنظیم شده باشد، برنامه‌های کلاینت از حافظه موقت سریع درون‌حافظه‌ای استفاده نخواهند کرد.

memcache_size_passwd (integer)

اندازه (به مگابایت) جدول داده‌های تخصیص‌یافته در داخل حافظه موقت سریع درون‌حافظه‌ای برای درخواست‌های passwd. تنظیم اندازه روی 0 حافظه موقت passwd درون‌حافظه‌ای را غیرفعال می‌کند.

پیش‌فرض: 8

هشدار: غیرفعال بودن یا کوچک بودن بیش از حد حافظه موقت می‌تواند تأثیر منفی چشمگیری بر عملکرد SSSD داشته باشد.

یادداشت: اگر متغیر محیطی SSS_NSS_USE_MEMCACHE روی "NO" تنظیم شده باشد، برنامه‌های کلاینت از حافظه موقت سریع درون‌حافظه‌ای استفاده نخواهند کرد.

memcache_size_group (integer)

اندازه (به مگابایت) جدول داده‌های تخصیص‌یافته در داخل حافظه موقت سریع درون‌حافظه‌ای برای درخواست‌های گروه (group). تنظیم اندازه روی 0 حافظه موقت گروه درون‌حافظه‌ای را غیرفعال می‌کند.

پیش‌فرض: 6

هشدار: غیرفعال بودن یا کوچک بودن بیش از حد حافظه موقت می‌تواند تأثیر منفی چشمگیری بر عملکرد SSSD داشته باشد.

یادداشت: اگر متغیر محیطی SSS_NSS_USE_MEMCACHE روی "NO" تنظیم شده باشد، برنامه‌های کلاینت از حافظه موقت سریع درون‌حافظه‌ای استفاده نخواهند کرد.

memcache_size_initgroups (integer)

اندازه (به مگابایت) جدول داده‌های تخصیص‌یافته در داخل حافظه موقت سریع درون‌حافظه‌ای برای درخواست‌های initgroups. تنظیم اندازه روی 0 حافظه موقت initgroups درون‌حافظه‌ای را غیرفعال می‌کند.

پیش‌فرض: 10

هشدار: غیرفعال بودن یا کوچک بودن بیش از حد حافظه موقت می‌تواند تأثیر منفی چشمگیری بر عملکرد SSSD داشته باشد.

یادداشت: اگر متغیر محیطی SSS_NSS_USE_MEMCACHE روی "NO" تنظیم شده باشد، برنامه‌های کلاینت از حافظه موقت سریع درون‌حافظه‌ای استفاده نخواهند کرد.

memcache_size_sid (integer)

اندازه (به مگابایت) جدول داده‌های تخصیص‌یافته در داخل حافظه موقت سریع درون‌حافظه‌ای برای درخواست‌های مرتبط با SID. در حال حاضر فقط درخواست‌های SID-به-ID و ID-به-SID در حافظه موقت سریع ذخیره می‌شوند. تنظیم اندازه روی 0 حافظه موقت SID درون‌حافظه‌ای را غیرفعال می‌کند.

پیش‌فرض: 6

هشدار: غیرفعال بودن یا کوچک بودن بیش از حد حافظه موقت می‌تواند تأثیر منفی چشمگیری بر عملکرد SSSD داشته باشد.

یادداشت: اگر متغیر محیطی SSS_NSS_USE_MEMCACHE روی "NO" تنظیم شده باشد، برنامه‌های کلاینت از حافظه موقت سریع درون‌حافظه‌ای استفاده نخواهند کرد.

user_attributes (string)

برخی از درخواست‌های پاسخ‌دهنده NSS می‌توانند مشخصه‌های بیشتری نسبت به موارد تعریف‌شده توسط رابط NSS (POSIX) بازگردانند. فهرست این مشخصه‌ها با این گزینه کنترل می‌شود. این گزینه به همان روش گزینه “user_attributes” در پاسخ‌دهنده InfoPipe مدیریت می‌شود (برای جزئیات به sssd-ifp(5) مراجعه کنید)، اما مقادیر پیش‌فرضی ندارد.

برای تسهیل پیکربندی، پاسخ‌دهنده NSS در صورتی که این گزینه برای آن تنظیم نشده باشد، گزینه InfoPipe را بررسی خواهد کرد.

پیش‌فرض: تنظیم نشده، بازگشت به گزینه InfoPipe

pwfield (string)

مقداری که عملیات NSS بازگرداننده کاربران یا گروه‌ها برای فیلد “password” بازمی‌گردانند.

پیش‌فرض: “*”

یادداشت: این گزینه می‌تواند به ازای هر دامنه نیز تنظیم شود که مقدار موجود در بخش [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)

مدت زمان به دقیقه که پس از رسیدن به offline_failed_login_attempts باید بگذرد تا تلاش جدیدی برای ورود امکان‌پذیر باشد.

در صورت تنظیم روی 0، اگر به سقف offline_failed_login_attempts رسیده باشد، کاربر نمی‌تواند به‌صورت آفلاین احراز هویت کند. تنها یک احراز هویت برخط موفق می‌تواند احراز هویت آفلاین را مجدداً فعال سازد.

پیش‌فرض: 5

pam_verbosity (integer)

کنترل می‌کند که چه نوع پیام‌هایی در طول احراز هویت به کاربر نشان داده شود. هر چه عدد بزرگتر باشد پیام‌های بیشتری نمایش داده می‌شود.

در حال حاضر sssd از مقادیر زیر پشتیبانی می‌کند:

0: عدم نمایش هیچ پیامی

1: نمایش فقط پیام‌های مهم

2: نمایش پیام‌های اطلاعاتی

3: نمایش همه پیام‌ها و اطلاعات اشکال‌زدایی

پیش‌فرض: 1

pam_response_filter (string)

فهرست جداشده با کاما از رشته‌ها که امکان حذف (پالایش) داده‌های ارسال‌شده توسط پاسخ‌دهنده PAM به ماژول pam_sss PAM را فراهم می‌کند. انواع مختلفی از پاسخ‌ها به pam_sss ارسال می‌شود، مانند پیام‌های نمایش‌داده‌شده به کاربر یا متغیرهای محیطی که باید توسط pam_sss تنظیم شوند.

در حالی که پیام‌ها را می‌توان از قبل با کمک گزینه pam_verbosity کنترل کرد، این گزینه امکان پالایش انواع دیگر پاسخ‌ها را نیز فراهم می‌سازد.

در حال حاضر فیلترهای زیر پشتیبانی می‌شوند:

ENV

هیچ متغیر محیطی را به هیچ سرویسی ارسال نکن.

ENV:var_name

متغیر محیطی var_name را به هیچ سرویسی ارسال نکن.

ENV:var_name:service

متغیر محیطی var_name را به service ارسال نکن.

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

پیش‌فرض: ENV:KRB5CCNAME:sudo, ENV:KRB5CCNAME:sudo-i

مثال: ENV:KRB5CCNAME:sudo-i- فیلتر را از فهرست پیش‌فرض حذف خواهد کرد

pam_id_timeout (integer)

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

یک مکالمه کامل PAM ممکن است چندین درخواست PAM مانند مدیریت حساب و باز کردن نشست را انجام دهد. این گزینه کنترل می‌کند (بر اساس هر برنامه کلاینت) که چه مدت (به ثانیه) می‌توانیم اطلاعات هویتی را در حافظه موقت نگه داریم تا از رفت‌و‌برگشت‌های اضافی به ارائه‌دهنده هویت جلوگیری شود.

پیش‌فرض: 5

pam_pwd_expiration_warning (integer)

نمایش هشدار N روز قبل از انقضای گذرواژه.

لطفاً توجه داشته باشید که سرور بک‌اند باید اطلاعات مربوط به زمان انقضای گذرواژه را ارائه دهد. در صورت مفقود بودن این اطلاعات، sssd نمی‌تواند هشداری نمایش دهد.

اگر صفر تنظیم شود، این فیلتر اعمال نمی‌شود، یعنی اگر هشدار انقضا از سرور بک‌اند دریافت شود، به‌طور خودکار نمایش داده خواهد شد.

این تنظیم را می‌توان با تنظیم pwd_expiration_warning برای یک دامنه خاص بازنویسی کرد.

پیش‌فرض: 0

get_domains_timeout (int)

مدت زمان به ثانیه را مشخص می‌کند که طی آن فهرست زیردامنه‌ها معتبر تلقی خواهد شد.

پیش‌فرض: 60

pam_trusted_users (string)

فهرست جداشده با کاما از مقادیر UID یا نام‌های کاربری را مشخص می‌کند که مجاز به اجرای مکالمات PAM در برابر دامنه‌های مورد اعتماد هستند. کاربرانی که در این فهرست گنجانده نشده‌اند، فقط می‌توانند به دامنه‌هایی دسترسی داشته باشند که با “pam_public_domains” به عنوان عمومی علامت‌گذاری شده‌اند. نام‌های کاربری هنگام راه‌اندازی به UID تبدیل می‌شوند.

پیش‌فرض: همه کاربران به‌طور پیش‌فرض مورد اعتماد تلقی می‌شوند

لطفاً توجه داشته باشید UID 0 همواره مجاز به دسترسی به پاسخ‌دهنده PAM است، حتی اگر در فهرست pam_trusted_users نباشد.

pam_public_domains (string)

فهرست جداشده با کاما از نام‌های دامنه را مشخص می‌کند که حتی برای کاربران غیرقابل‌اعتماد نیز قابل دسترسی هستند.

دو مقدار ویژه برای گزینه pam_public_domains تعریف شده است:

all (کاربران غیرقابل‌اعتماد مجاز به دسترسی به همه دامنه‌ها در پاسخ‌دهنده PAM هستند.)

none (کاربران غیرقابل‌اعتماد مجاز به دسترسی به هیچ دامنه‌ای در پاسخ‌دهنده PAM نیستند.)

پیش‌فرض: none

pam_account_expired_message (string)

امکان تنظیم یک پیام انقضای سفارشی را فراهم می‌کند و جایگزین پیام پیش‌فرض 'Permission denied' می‌شود.

یادداشت: لطفاً آگاه باشید که این پیام فقط برای سرویس SSH چاپ می‌شود، مگر اینکه pam_verbosity روی 3 (نمایش همه پیام‌ها و اطلاعات اشکال‌زدایی) تنظیم شده باشد.

مثال:

pam_account_expired_message = Account expired, please contact help desk.

پیش‌فرض: none

pam_account_locked_message (string)

امکان تنظیم یک پیام قفل سفارشی را فراهم می‌کند و جایگزین پیام پیش‌فرض 'Permission denied' می‌شود.

مثال:

pam_account_locked_message = Account locked, please contact help desk.

پیش‌فرض: none

pam_passkey_auth (bool)

فعال‌سازی احراز هویت مبتنی بر دستگاه کلید عبور (passkey).

پیش‌فرض: True

passkey_debug_libfido2 (bool)

فعال‌سازی پیام‌های اشکال‌زدایی کتابخانه libfido2.

پیش‌فرض: False

pam_cert_auth (bool)

فعال‌سازی احراز هویت کارت هوشمند (Smartcard) مبتنی بر گواهی. از آنجا که این امر نیاز به ارتباط اضافی با کارت هوشمند دارد که فرآیند احراز هویت را به تأخیر می‌اندازد، این گزینه به‌طور پیش‌فرض غیرفعال است.

پیش‌فرض: False

pam_cert_db_path (string)

مسیر پایگاه‌داده گواهی.

پیش‌فرض:

•/etc/sssd/pki/sssd_auth_ca_db.pem (مسیر پرونده‌ای حاوی گواهی‌های مرجع گواهی مورد اعتماد در قالب PEM)

pam_cert_verification (string)

با این پارامتر می‌توان اعتبارسنجی گواهی PAM را با فهرستی از گزینه‌های جداشده با کاما تنظیم کرد که مقدار “certificate_verification” در بخش “[sssd]” را بازنویسی می‌کند. گزینه‌های پشتیبانی‌شده همانند “certificate_verification” هستند.

مثال:

pam_cert_verification = partial_chain

پیش‌فرض: تنظیم نشده، یعنی استفاده از گزینه پیش‌فرض “certificate_verification” تعریف‌شده در بخش “[sssd]”.

p11_child_timeout (integer)

چند ثانیه pam_sss منتظر اتمام p11_child بماند.

پیش‌فرض: 10

passkey_child_timeout (integer)

چند ثانیه پاسخ‌دهنده PAM منتظر اتمام passkey_child بماند.

پیش‌فرض: 15

pam_app_services (string)

کدام سرویس‌های PAM مجاز به تماس با دامنه‌های نوع “application” هستند.

پیش‌فرض: تنظیم نشده

pam_p11_allowed_services (string)

فهرست جداشده با کاما از نام‌های سرویس‌های PAM که استفاده از کارت‌های هوشمند برای آن‌ها مجاز خواهد بود.

امکان اضافه کردن نام سرویس PAM دیگر به مجموعه پیش‌فرض با استفاده از “+service_name” یا حذف صریح نام سرویس PAM از مجموعه پیش‌فرض با استفاده از “-service_name” وجود دارد. به عنوان مثال، به منظور جایگزینی نام سرویس پیش‌فرض PAM برای احراز هویت با کارت‌های هوشمند (مانند “login”) با نام یک سرویس سفارشی PAM (مانند “my_pam_service”)، از پیکربندی زیر استفاده می‌کنید:

pam_p11_allowed_services = +my_pam_service, -login

پیش‌فرض: مجموعه پیش‌فرض نام‌های سرویس PAM شامل موارد زیر است:

•login
•su
•su-l
•gdm-smartcard
•gdm-password
•gdm-switchable-auth
•kdm
•plasmalogin
•sudo
•sudo-i
•gnome-screensaver

p11_wait_for_card_timeout (integer)

اگر احراز هویت با کارت هوشمند الزامی باشد، پاسخ‌دهنده PAM علاوه بر p11_child_timeout چند ثانیه اضافی دیگر باید منتظر درج کارت هوشمند بماند.

پیش‌فرض: 60

p11_uri (string)

شناسه PKCS#11 URI (برای جزئیات به RFC-7512 مراجعه کنید) که می‌تواند برای محدود کردن انتخاب دستگاه‌های مورد استفاده برای احراز هویت با کارت هوشمند استفاده شود. به‌طور پیش‌فرض، p11_child مربوط به SSSD به دنبال یک شکاف (کارت‌خوان) PKCS#11 می‌گردد که پرچم 'removable' آن تنظیم شده باشد و گواهی‌ها را از توکن درج‌شده در اولین شکاف یافت‌شده می‌خواند. اگر چندین کارت‌خوان متصل باشند، می‌توان از p11_uri استفاده کرد تا به p11_child دستور دهد از یک کارت‌خوان خاص استفاده کند.

مثال:

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

پاسخ‌دهنده PAM می‌تواند یک جستجوی برخط را برای دریافت عضویت‌های فعلی کاربر در حال ورود در گروه‌ها تحمیل کند. این گزینه کنترل می‌کند که چه زمانی باید این کار انجام شود و مقادیر زیر مجاز هستند:

always

همیشه یک جستجوی برخط انجام بده، لطفاً توجه داشته باشید که pam_id_timeout همچنان اعمال می‌شود

no_session

تنها در صورتی جستجوی برخط انجام بده که نشست فعالی از کاربر وجود نداشته باشد، یعنی اگر کاربر در حال حاضر وارد سیستم نشده باشد

never

هرگز جستجوی برخط را تحمیل نکن، از داده‌های موجود در حافظه موقت تا زمانی که منقضی نشده‌اند استفاده کن

پیش‌فرض: no_session

pam_gssapi_services

فهرست جداشده با کاما از سرویس‌های PAM که مجاز به تلاش برای احراز هویت GSSAPI با استفاده از ماژول pam_sss_gss.so هستند.

برای غیرفعال کردن احراز هویت GSSAPI، این گزینه را روی “-” (خط تیره) تنظیم کنید.

یادداشت: این گزینه می‌تواند به ازای هر دامنه نیز تنظیم شود که مقدار موجود در بخش [pam] را بازنویسی می‌کند. همچنین می‌تواند برای دامنه مورد اعتماد تنظیم شود که مقدار موجود در بخش دامنه را بازنویسی می‌کند.

مثال:

pam_gssapi_services = sudo, sudo-i

پیش‌فرض: - (احراز هویت GSSAPI غیرفعال است)

pam_gssapi_check_upn

اگر روی True تنظیم شود، SSSD ملزم می‌دارد که شناسه کاربر Kerberos که با موفقیت از طریق GSSAPI احراز هویت شده بتواند با کاربری که در حال احراز هویت است مرتبط شود. در صورت شکست بررسی، احراز هویت ناموفق خواهد بود.

اگر False باشد، هر کاربری که بتواند بلیط سرویس مورد نیاز را به دست آورد احراز هویت خواهد شد.

یادداشت: این گزینه می‌تواند به ازای هر دامنه نیز تنظیم شود که مقدار موجود در بخش [pam] را بازنویسی می‌کند. همچنین می‌تواند برای دامنه مورد اعتماد تنظیم شود که مقدار موجود در بخش دامنه را بازنویسی می‌کند.

پیش‌فرض: True

pam_gssapi_indicators_map

فهرست جداشده با کاما از شاخص‌های احراز هویت که برای دسترسی به یک سرویس PAM که مجاز به تلاش برای احراز هویت GSSAPI با ماژول pam_sss_gss.so است، باید در بلیط Kerberos وجود داشته باشند.

هر عنصر فهرست می‌تواند یک نام شاخص احراز هویت یا یک جفت “service:indicator” باشد. شاخص‌هایی که پیشوند نام سرویس PAM را ندارند، برای دسترسی به هر سرویس PAM پیکربندی‌شده برای استفاده با pam_gssapi_services الزامی خواهند بود. سپس فهرست نهایی شاخص‌ها به ازای هر سرویس PAM در طول احراز هویت توسط pam_sss_gss.so در برابر شاخص‌های موجود در بلیط Kerberos بررسی می‌شود. هر شاخصی از بلیط که با فهرست شاخص‌های حاصل برای سرویس PAM مطابقت داشته باشد، دسترسی را اعطا خواهد کرد. اگر هیچ‌یک از شاخص‌های موجود در فهرست مطابقت نداشته باشند، دسترسی رد خواهد شد. اگر فهرست شاخص‌های حاصل برای سرویس PAM خالی باشد، این بررسی مانع دسترسی نخواهد شد.

برای غیرفعال کردن بررسی شاخص احراز هویت GSSAPI، این گزینه را روی “-” (خط تیره) تنظیم کنید. برای غیرفعال کردن بررسی برای یک سرویس خاص PAM، عبارت “service:-” را اضافه کنید.

یادداشت: این گزینه می‌تواند به ازای هر دامنه نیز تنظیم شود که مقدار موجود در بخش [pam] را بازنویسی می‌کند. همچنین می‌تواند برای دامنه مورد اعتماد تنظیم شود که مقدار موجود در بخش دامنه را بازنویسی می‌کند.

شاخص‌های احراز هویت زیر توسط استقرارهای IPA Kerberos پشتیبانی می‌شوند:

•pkinit -- پیش‌احراز هویت با استفاده از گواهی‌های X.509 -- چه ذخیره‌شده در پرونده‌ها یا روی کارت‌های هوشمند.
•hardened -- پیش‌احراز هویت SPAKE یا هر پیش‌احراز هویتی که در یک کانال FAST محصور شده باشد.
•radius -- پیش‌احراز هویت با کمک یک سرور RADIUS.
•otp -- پیش‌احراز هویت با استفاده از احراز هویت دومرحله‌ای یکپارچه (2FA یا گذرواژه یک‌بارمصرف، OTP) در IPA.
•idp -- پیش‌احراز هویت با استفاده از ارائه‌دهنده هویت خارجی.

مثال: برای الزامی کردن دسترسی به سرویس‌های SUDO فقط برای کاربرانی که بلیط‌های Kerberos خود را با پیش‌احراز هویت گواهی X.509 (PKINIT) به دست آورده‌اند، تنظیم کنید:

pam_gssapi_indicators_map = sudo:pkinit, sudo-i:pkinit

پیش‌فرض: تنظیم نشده (استفاده از شاخص‌های احراز هویت الزامی نیست)

pam_gssapi_indicators_apply

فهرست جداشده با کاما از سه‌گانه‌ها برای تخصیص اطلاعات اضافی از بلیط Kerberos، مانند یک SID از PAC، به شاخص‌های احراز هویت.

در حال حاضر موارد زیر پشتیبانی می‌شوند:

•SID:S-1-5-[domain]-[RID]:[authentication indicator]

مثال: برای تخصیص یک SID، که برای مثال توسط سازوکار تضمین احراز هویت (AMA) اکتیو دایرکتوری در صورتی که کاربر AD از کارت هوشمند برای احراز هویت استفاده کرده باشد تنظیم می‌شود، به شاخص احراز هویت 'pkinit' از دستور زیر استفاده کنید:

pam_gssapi_indicators_apply = SID:S-1-5-12345-23456-34567-4321:pkinit

پیش‌فرض: تنظیم نشده

این گزینه‌ها می‌توانند برای پیکربندی سرویس sudo استفاده شوند. دستورالعمل‌های دقیق برای پیکربندی sudo(8) جهت کار با sssd(8) در صفحه راهنمای sssd-sudo(5) آمده است.

sudo_timed (bool)

آیا مشخصه‌های sudoNotBefore و sudoNotAfter که ورودی‌های وابسته به زمان sudoers را پیاده‌سازی می‌کنند ارزیابی شوند یا خیر.

پیش‌فرض: false

sudo_threshold (integer)

حداکثر تعداد قوانین منقضی‌شده که می‌توانند همزمان تازه‌سازی شوند. اگر تعداد قوانین منقضی‌شده زیر آستانه باشد، آن قوانین با سازوکار “rules refresh” تازه‌سازی می‌شوند. اگر از آستانه فراتر رود، به جای آن یک “full refresh” از قوانین sudo تحریک می‌شود. این عدد آستانه همچنین برای جستجوهای دستور و گروه دستور sudo در IPA اعمال می‌شود.

پیش‌فرض: 50

این گزینه‌ها می‌توانند برای پیکربندی سرویس autofs استفاده شوند.

autofs_negative_timeout (integer)

مشخص می‌کند پاسخ‌دهنده autofs چند ثانیه باید نتایج منفی حافظه موقت (یعنی پرس‌وجوها برای ورودی‌های نگاشت نامعتبر، مانند موارد ناموجود) را قبل از درخواست مجدد از بخش پشتیبان در حافظه موقت نگه دارد.

پیش‌فرض: 15

لطفاً توجه داشته باشید سوارکننده خودکار (automounter) فقط نقشه اصلی را هنگام راه‌اندازی می‌خواند، بنابراین اگر هرگونه تغییر مرتبط با autofs در sssd.conf ایجاد شود، معمولاً پس از راه‌اندازی مجدد SSSD، باید دیمون سوارکننده خودکار را نیز مجدداً راه‌اندازی کنید.

این گزینه‌ها می‌توانند برای پیکربندی سرویس SSH استفاده شوند.

ssh_use_certificate_keys (bool)

اگر روی true تنظیم شود، ابزار sss_ssh_authorizedkeys کلیدهای ssh مشتق‌شده از کلید عمومی گواهی‌های X.509 ذخیره‌شده در ورودی کاربر را نیز بازمی‌گرداند. برای جزئیات به sss_ssh_authorizedkeys(1) مراجعه کنید.

پیش‌فرض: true

ssh_use_certificate_matching_rules (string)

به‌طور پیش‌فرض، پاسخ‌دهنده ssh از تمام قوانین تطبیق گواهی موجود برای پالایش گواهی‌ها استفاده می‌کند تا کلیدهای ssh فقط از موارد منطبق مشتق شوند. با این گزینه می‌توان قوانین مورد استفاده را با فهرستی جداشده با کاما از نام‌های قوانین نگاشت و تطبیق محدود کرد. سایر قوانین نادیده گرفته خواهند شد.

دو کلمه کلیدی ویژه 'all_rules' و 'no_rules' وجود دارند که به ترتیب تمام قوانین یا هیچ قانونی را فعال نمی‌کنند. دومی به این معنی است که هیچ گواهی پالایش نخواهد شد و کلیدهای ssh از تمام گواهی‌های معتبر تولید خواهند شد.

اگر هیچ قانونی پیکربندی نشده باشد، استفاده از 'all_rules' یک قانون پیش‌فرض را فعال می‌کند که تمام گواهی‌های مناسب برای احراز هویت کلاینت را مجاز می‌سازد. این همان رفتاری است که در صورت فعال بودن احراز هویت با گواهی در پاسخ‌دهنده PAM وجود دارد.

نام یک قانون ناموجود یک خطا تلقی می‌شود. اگر در نتیجه هیچ قانونی انتخاب نشود، تمام گواهی‌ها نادیده گرفته خواهند شد.

پیش‌فرض: تنظیم نشده، معادل 'all_rules' است؛ تمام قوانین یافت‌شده یا قانون پیش‌فرض استفاده می‌شوند

ca_db (string)

مسیر به یک فضای ذخیره‌سازی گواهی‌های CA مورد اعتماد. این گزینه برای اعتبارسنجی گواهی‌های کاربر قبل از اشتقاق کلیدهای عمومی ssh از آن‌ها استفاده می‌شود.

پیش‌فرض:

•/etc/sssd/pki/sssd_auth_ca_db.pem (مسیر پرونده‌ای حاوی گواهی‌های مرجع گواهی مورد اعتماد در قالب PEM)

پاسخ‌دهنده PAC در کنار افزونه داده‌های مجازسازی برای MIT Kerberos یعنی sssd_pac_plugin.so و یک ارائه‌دهنده زیردامنه کار می‌کند. این افزونه داده‌های PAC را در طول یک احراز هویت GSSAPI به پاسخ‌دهنده PAC ارسال می‌کند. ارائه‌دهنده زیردامنه، SID دامنه و محدوده‌های شناسه (ID ranges) دامنه‌ای که کلاینت به آن پیوسته است و دامنه‌های مورد اعتماد راه دور را از کنترل‌کننده دامنه محلی جمع‌آوری می‌کند. در صورت رمزگشایی و ارزیابی PAC، برخی از عملیات زیر انجام می‌شود:

•اگر کاربر راه دور در حافظه موقت وجود نداشته باشد، ایجاد می‌شود. شناسه UID با کمک SID تعیین می‌شود، دامنه‌های مورد اعتماد دارای UPG خواهند بود و GID همان مقدار UID را خواهد داشت. دایرکتوری خانگی بر اساس پارامتر subdomain_homedir تنظیم می‌شود. پوسته به‌طور پیش‌فرض خالی خواهد بود، یعنی از پیش‌فرض‌های سیستم استفاده می‌شود، اما با پارامتر default_shell قابل بازنویسی است.
•اگر مقادیر SID گروه‌هایی از دامنه‌هایی که sssd از آن‌ها آگاهی دارد وجود داشته باشد، کاربر به آن گروه‌ها اضافه خواهد شد.

این گزینه‌ها می‌توانند برای پیکربندی پاسخ‌دهنده PAC استفاده شوند.

allowed_uids (string)

فهرست جداشده با کاما از مقادیر UID یا نام‌های کاربری را مشخص می‌کند که مجاز به دسترسی به پاسخ‌دهنده PAC هستند. نام‌های کاربری هنگام راه‌اندازی به UID تبدیل می‌شوند.

پیش‌فرض: 0, sssd (فقط کاربران ریشه و سرویس SSSD مجاز به دسترسی به پاسخ‌دهنده PAC هستند)

لطفاً توجه داشته باشید که پیش‌فرض‌ها با این گزینه بازنویسی خواهند شد. اگر همچنان می‌خواهید به کاربر ریشه و/یا 'sssd' اجازه دسترسی به پاسخ‌دهنده PAC را بدهید (که حالت معمول است)، باید آن‌ها را صریحاً به فهرست UIDهای مجاز اضافه کنید.

pac_lifetime (integer)

طول عمر ورودی PAC به ثانیه. تا زمانی که PAC معتبر باشد، می‌توان از داده‌های PAC برای تعیین عضویت‌های کاربر در گروه‌ها استفاده کرد.

پیش‌فرض: 300

pac_check (string)

اعمال بررسی‌های اضافی روی PAC بلیط Kerberos که در دامنه‌های اکتیو دایرکتوری و FreeIPA (در صورت پیکربندی) در دسترس است. لطفاً توجه داشته باشید که اعتبارسنجی بلیط Kerberos باید فعال باشد تا بتوان PAC را بررسی کرد، یعنی گزینه krb5_validate باید روی 'True' تنظیم شده باشد که پیش‌فرض ارائه‌دهندگان IPA و AD است. اگر krb5_validate روی 'False' تنظیم شود، از بررسی‌های PAC صرف‌نظر خواهد شد.

لطفاً توجه داشته باشید که بررسی‌های ذکرشده در زیر فقط برای PACهای صادرشده توسط اکتیو دایرکتوری یا نگارش‌های اخیر FreeIPA اعمال می‌شوند. PACهای صادرشده توسط مثلاً یک KDC ساده MIT Kerberos حاوی میانگیرهای داده PAC مورد نیاز برای اجرای این بررسی‌ها نخواهند بود.

گزینه‌های زیر می‌توانند به تنهایی یا در یک فهرست جداشده با کاما استفاده شوند:

no_check

حضور PAC الزامی نیست و حتی در صورت حضور آن، هیچ بررسی اضافی انجام نخواهد شد.

pac_present

وجود PAC در بلیط سرویس که SSSD با کمک TGT کاربر درخواست خواهد کرد الزامی است. در صورت در دسترس نبودن PAC، احراز هویت با شکست مواجه خواهد شد.

check_upn

در صورت وجود PAC، همخوانی اطلاعات نام اصلی کاربر (UPN) بررسی شود.

check_upn_allow_missing

این گزینه باید همراه با 'check_upn' استفاده شود و حالتی را مدیریت می‌کند که در آن UPN در سمت سرور تنظیم شده اما توسط SSSD خوانده نمی‌شود. مثال معمول یک دامنه FreeIPA است که در آن 'ldap_user_principal' روی نام مشخصه‌ای ناموجود تنظیم شده است. این کار معمولاً به عنوان راهکاری موقت برای رفع مشکلات مربوط به مدیریت enterprise principals انجام می‌شد. اما این مورد مدت‌هاست که برطرف شده و FreeIPA می‌تواند enterprise principals را به خوبی مدیریت کند و دیگر نیازی به تنظیم 'ldap_user_principal' نیست.

در حال حاضر این گزینه به‌طور پیش‌فرض تنظیم شده است تا از پسرفت در چنین محیط‌هایی جلوگیری شود. در صورتی که یک UPN در PAC یافت شود اما در حافظه موقت SSSD نباشد، یک پیام به گزارش سیستم و گزارش اشکال‌زدایی SSSD اضافه خواهد شد. برای جلوگیری از این پیام گزارش، بهتر است بررسی کنید آیا می‌توان گزینه 'ldap_user_principal' را حذف کرد. اگر این امر ممکن نیست، حذف 'check_upn' از آزمون صرف‌نظر کرده و از ایجاد پیام گزارش جلوگیری می‌کند.

upn_dns_info_present

وجود میانگیر UPN-DNS-INFO در PAC الزامی است، که مستلزم 'check_upn' می‌باشد.

check_upn_dns_info_ex

در صورت وجود PAC و در دسترس بودن افزونه میانگیر UPN-DNS-INFO، همخوانی اطلاعات موجود در افزونه بررسی شود.

upn_dns_info_ex_present

وجود افزونه میانگیر UPN-DNS-INFO در PAC الزامی است، که مستلزم 'check_upn_dns_info_ex'، 'upn_dns_info_present' و 'check_upn' می‌باشد.

پیش‌فرض: no_check (برای ارائه‌دهنده AD و IPA برابر 'check_upn, check_upn_allow_missing, check_upn_dns_info_ex')

قابلیت ضبط نشست در ارتباط با tlog-rec-session(8) (بخشی از بسته tlog) کار می‌کند تا آنچه را که کاربران هنگام ورود به ترمینال متنی می‌بینند و تایپ می‌کنند ثبت کند. همچنین به sssd-session-recording(5) مراجعه کنید.

این گزینه‌ها می‌توانند برای پیکربندی ضبط نشست استفاده شوند.

scope (string)

یکی از رشته‌های زیر که محدوده ضبط نشست را مشخص می‌کند:

"none"

هیچ کاربری ضبط نمی‌شود.

"some"

کاربران/گروه‌های مشخص‌شده توسط گزینه‌های users و groups ضبط می‌شوند.

"all"

همه کاربران ضبط می‌شوند.

پیش‌فرض: "none"

users (string)

فهرست جداشده با کاما از کاربرانی که قابلیت ضبط نشست برای آن‌ها باید فعال باشد. نام‌های کاربری با موارد بازگردانده‌شده توسط NSS تطبیق داده می‌شوند؛ یعنی پس از جایگزینی احتمالی فاصله‌ها، تغییر حروف کوچک و بزرگ و غیره.

پیش‌فرض: خالی. با هیچ کاربری تطبیق ندارد.

groups (string)

فهرست جداشده با کاما از گروه‌هایی که قابلیت ضبط نشست برای اعضای آن‌ها باید فعال باشد. نام‌های گروه‌ها با موارد بازگردانده‌شده توسط NSS تطبیق داده می‌شوند؛ یعنی پس از جایگزینی احتمالی فاصله‌ها، تغییر حروف کوچک و بزرگ و غیره.

یادداشت: استفاده از این گزینه (تنظیم آن روی هر مقداری) هزینه عملکردی قابل توجهی دارد، زیرا هر درخواست ذخیره‌نشده در حافظه موقت برای یک کاربر مستلزم بازیابی و تطبیق گروه‌هایی است که کاربر عضو آن‌هاست.

پیش‌فرض: خالی. با هیچ گروهی تطبیق ندارد.

exclude_users (string)

فهرست جداشده با کاما از کاربرانی که باید از ضبط مستثنی شوند؛ فقط با 'scope=all' کاربرد دارد.

پیش‌فرض: خالی. هیچ کاربری مستثنی نمی‌شود.

exclude_groups (string)

فهرست جداشده با کاما از گروه‌هایی که اعضای آن‌ها باید از ضبط مستثنی شوند. فقط با 'scope=all' کاربرد دارد.

یادداشت: استفاده از این گزینه (تنظیم آن روی هر مقداری) هزینه عملکردی قابل توجهی دارد، زیرا هر درخواست ذخیره‌نشده در حافظه موقت برای یک کاربر مستلزم بازیابی و تطبیق گروه‌هایی است که کاربر عضو آن‌هاست.

پیش‌فرض: خالی. هیچ گروهی مستثنی نمی‌شود.

این گزینه‌های پیکربندی می‌توانند در یک بخش پیکربندی دامنه، یعنی در بخشی به نام “[domain/NAME]” وجود داشته باشند.

enabled

فعال یا غیرفعال کردن صریح دامنه. اگر “true” باشد، دامنه همیشه “enabled” است. اگر “false” باشد، دامنه همیشه “disabled” است. اگر این گزینه تنظیم نشده باشد، دامنه تنها در صورتی فعال است که در گزینه domains در بخش “[sssd]” فهرست شده باشد.

domain_type (string)

مشخص می‌کند که آیا دامنه برای استفاده توسط کلاینت‌های آگاه از POSIX مانند Name Service Switch در نظر گرفته شده است یا برنامه‌هایی که نیازی به وجود یا تولید داده‌های POSIX ندارند. فقط اشیاء دامنه‌های POSIX در دسترس رابط‌ها و ابزارهای سیستم‌عامل قرار دارند.

مقادیر مجاز برای این گزینه عبارتند از “posix” و “application”.

دامنه‌های POSIX توسط تمام سرویس‌ها قابل دسترسی هستند. دامنه‌های کاربردی (Application domains) فقط از پاسخ‌دهنده InfoPipe (به sssd-ifp(5) مراجعه کنید) و پاسخ‌دهنده PAM قابل دسترسی هستند.

یادداشت: دامنه‌های کاربردی در حال حاضر فقط با “id_provider=ldap” به خوبی آزمایش شده‌اند.

برای راهی آسان جهت پیکربندی دامنه‌های غیر POSIX، لطفاً به بخش “Application domains” مراجعه کنید.

پیش‌فرض: posix

min_id,max_id (integer)

محدودیت‌های UID و GID برای دامنه. اگر دامنه‌ای حاوی ورودی باشد که خارج از این محدودیت‌ها قرار دارد، نادیده گرفته می‌شود.

برای کاربران، این روی محدودیت 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)

چند ثانیه nss_sss باید ورودی‌ها را قبل از درخواست مجدد از بخش پشتیبان، معتبر تلقی کند.

برچسب‌های زمان انقضای حافظه موقت به عنوان مشخصه‌های اشیاء جداگانه در حافظه موقت ذخیره می‌شوند. بنابراین، تغییر مهلت زمانی حافظه موقت فقط برای ورودی‌های تازه اضافه‌شده یا منقضی‌شده تأثیر دارد. برای تحمیل تازه‌سازی ورودی‌هایی که قبلاً در حافظه موقت ذخیره شده‌اند، باید ابزار sss_cache(8) را اجرا کنید.

پیش‌فرض: 5400

entry_cache_user_timeout (integer)

چند ثانیه nss_sss باید ورودی‌های کاربر را قبل از درخواست مجدد از بخش پشتیبان معتبر تلقی کند.

پیش‌فرض: entry_cache_timeout

entry_cache_group_timeout (integer)

چند ثانیه nss_sss باید ورودی‌های گروه را قبل از درخواست مجدد از بخش پشتیبان معتبر تلقی کند.

پیش‌فرض: entry_cache_timeout

entry_cache_netgroup_timeout (integer)

چند ثانیه nss_sss باید ورودی‌های netgroup را قبل از درخواست مجدد از بخش پشتیبان معتبر تلقی کند.

پیش‌فرض: entry_cache_timeout

entry_cache_service_timeout (integer)

چند ثانیه nss_sss باید ورودی‌های سرویس را قبل از درخواست مجدد از بخش پشتیبان معتبر تلقی کند.

پیش‌فرض: entry_cache_timeout

entry_cache_resolver_timeout (integer)

چند ثانیه nss_sss باید ورودی‌های میزبان‌ها و شبکه‌ها را قبل از درخواست مجدد از بخش پشتیبان معتبر تلقی کند.

پیش‌فرض: entry_cache_timeout

entry_cache_sudo_timeout (integer)

چند ثانیه sudo باید قوانین را قبل از درخواست مجدد از بخش پشتیبان معتبر تلقی کند.

پیش‌فرض: entry_cache_timeout

entry_cache_autofs_timeout (integer)

چند ثانیه سرویس autofs باید نقشه‌های سوارکننده خودکار را قبل از درخواست مجدد از بخش پشتیبان معتبر تلقی کند.

پیش‌فرض: entry_cache_timeout

entry_cache_ssh_host_timeout (integer)

چند ثانیه کلید ssh میزبان پس از تازه‌سازی نگهداری شود. یعنی تا چه مدت کلید میزبان در حافظه موقت ذخیره شود.

پیش‌فرض: entry_cache_timeout

entry_cache_computer_timeout (integer)

چند ثانیه ورودی رایانه محلی قبل از درخواست مجدد از بخش پشتیبان نگهداری شود.

پیش‌فرض: entry_cache_timeout

offline_timeout (integer)

هنگامی که SSSD به حالت آفلاین تغییر وضعیت می‌دهد، مدت زمان قبل از تلاش برای برخط شدن مجدد، بر اساس زمان سپری‌شده در حالت قطع اتصال افزایش می‌یابد. به‌طور پیش‌فرض SSSD از رفتار افزایشی برای محاسبه تأخیر بین تلاش‌ها استفاده می‌کند. بنابراین، زمان انتظار برای یک تلاش معین طولانی‌تر از زمان انتظار برای تلاش‌های قبلی خواهد بود. پس از هر تلاش ناموفق برای برخط شدن، بازه زمانی جدید با فرمول زیر محاسبه می‌شود:

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)

هنگامی که SSSD در حالت آفلاین است، به آزمایش سرورهای بخش پشتیبان در بازه‌های زمانی مشخص ادامه می‌دهد:

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)

مشخص می‌کند SSSD چند ثانیه باید قبل از تحریک یک وظیفه تازه‌سازی پس‌زمینه که تمام رکوردهای منقضی‌شده یا نزدیک به انقضا را تازه‌سازی می‌کند منتظر بماند.

تازه‌سازی پس‌زمینه کاربران، گروه‌ها و netgroupها را در حافظه موقت پردازش می‌کند. برای کاربرانی که عملیات initgroups (دریافت عضویت در گروه برای کاربر، معمولاً در زمان ورود اجرا می‌شود) را در گذشته انجام داده‌اند، هم ورودی کاربر و هم عضویت در گروه به‌روزرسانی می‌شوند.

این گزینه به‌طور خودکار برای همه دامنه‌های مورد اعتماد به ارث برده می‌شود.

می‌توانید تنظیم این مقدار روی 3/4 * entry_cache_timeout را مد نظر قرار دهید.

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

پیش‌فرض: 0 (غیرفعال)

cache_credentials (bool)

تعیین می‌کند که آیا اطلاعات احراز هویت کاربر نیز در حافظه موقت LDB محلی ذخیره شود یا خیر. اعتبارنامه‌های ذخیره‌شده در حافظه موقت به گذرواژه‌ها اشاره دارد، که شامل فاکتور اول (طولانی‌مدت) احراز هویت دو مرحله‌ای می‌شود و سازوکارهای دیگر احراز هویت را در بر نمی‌گیرد. انتظار می‌رود احراز هویت‌های کلید عبور (passkey) و کارت هوشمند تا زمانی که یک احراز هویت برخط موفق در حافظه موقت ثبت شده باشد، بدون پیکربندی اضافی به‌صورت آفلاین کار کنند.

توجه داشته باشید که اگرچه اعتبارنامه‌ها به صورت یک هش سالت‌شده SHA512 ذخیره می‌شوند، اما این کار در صورتی که مهاجمی موفق به دسترسی به پرونده حافظه موقت شود (معمولاً نیازمند دسترسی ممتاز است) و گذرواژه را با حمله brute force بشکند، همچنان خطرات امنیتی بالقوه‌ای ایجاد می‌کند.

پیش‌فرض: FALSE

cache_credentials_minimal_first_factor_length (int)

اگر از احراز هویت دومرحله‌ای (2FA) استفاده شود و اعتبارنامه‌ها باید ذخیره شوند، این مقدار حداقل طولی را که فاکتور اول احراز هویت (گذرواژه طولانی‌مدت) باید داشته باشد تا به عنوان هش SHA512 در حافظه موقت ذخیره شود تعیین می‌کند.

این گزینه مانع از آن می‌شود که PINهای کوتاه یک طرح 2FA مبتنی بر PIN در حافظه موقت ذخیره شوند، چرا که آن‌ها را به اهداف آسانی برای حملات brute-force تبدیل می‌کند.

پیش‌فرض: 8

account_cache_expiration (integer)

تعداد روزهایی که ورودی‌ها پس از آخرین ورود موفق در حافظه موقت باقی می‌مانند قبل از اینکه در حین پاکسازی حافظه موقت حذف شوند. 0 به معنای نگهداری برای همیشه است. مقدار این پارامتر باید بزرگتر یا مساوی offline_credentials_expiration باشد.

پیش‌فرض: 0 (نامحدود)

pwd_expiration_warning (integer)

نمایش هشدار N روز قبل از انقضای گذرواژه.

اگر صفر تنظیم شود، این فیلتر اعمال نمی‌شود، یعنی اگر هشدار انقضا از سرور بخش پشتیبان دریافت شود، به‌طور خودکار نمایش داده خواهد شد.

لطفاً توجه داشته باشید که سرور بخش پشتیبان باید اطلاعات مربوط به زمان انقضای گذرواژه را ارائه دهد. در صورت مفقود بودن این اطلاعات، sssd نمی‌تواند هشداری نمایش دهد. همچنین یک ارائه‌دهنده احراز هویت (auth provider) باید برای بخش پشتیبان پیکربندی شده باشد.

پیش‌فرض: 7 (Kerberos), 0 (LDAP)

id_provider (string)

ارائه‌دهنده شناسایی (ID provider) مورد استفاده برای دامنه. ارائه‌دهندگان شناسه پشتیبانی‌شده عبارتند از:

“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)

استفاده از نام کامل و دامنه (به همان صورتی که توسط full_name_format دامنه قالب‌بندی شده است) به عنوان نام ورود کاربر به سیستم گزارش‌شده به NSS.

در صورت تنظیم روی 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)

ارائه‌دهنده SUDO مورد استفاده برای دامنه. ارائه‌دهندگان پشتیبانی‌شده SUDO عبارتند از:

“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)

ارائه‌دهنده‌ای که باید بارگیری تنظیمات selinux را مدیریت کند. توجه داشته باشید این ارائه‌دهنده بلافاصله پس از پایان کار ارائه‌دهنده دسترسی فراخوانی خواهد شد. ارائه‌دهندگان پشتیبانی‌شده selinux عبارتند از:

“ipa” برای بارگیری تنظیمات selinux از سرور IPA. برای اطلاعات بیشتر درباره پیکربندی IPA به sssd-ipa(5) مراجعه کنید.

“none” دریافت تنظیمات selinux را صریحاً غیرمجاز می‌سازد.

پیش‌فرض: اگر “id_provider” تنظیم شده باشد و بتواند درخواست‌های بارگیری selinux را مدیریت کند، از آن استفاده می‌شود.

subdomains_provider (string)

ارائه‌دهنده‌ای که باید واکشی زیردامنه‌ها را مدیریت کند. این مقدار همیشه باید همانند id_provider باشد. ارائه‌دهندگان پشتیبانی‌شده زیردامنه عبارتند از:

“ipa” برای بارگیری فهرستی از زیردامنه‌ها از سرور IPA. برای اطلاعات بیشتر درباره پیکربندی IPA به sssd-ipa(5) مراجعه کنید.

“ad” برای بارگیری فهرستی از زیردامنه‌ها از سرور Active Directory. برای اطلاعات بیشتر درباره پیکربندی ارائه‌دهنده AD به sssd-ad(5) مراجعه کنید.

“none” واکشی زیردامنه‌ها را صریحاً غیرمجاز می‌سازد.

پیش‌فرض: مقدار “id_provider” در صورتی که تنظیم شده باشد و بتواند درخواست‌های زیردامنه را مدیریت کند استفاده می‌شود.

session_provider (string)

ارائه‌دهنده‌ای که وظایف مرتبط با نشست کاربر را پیکربندی و مدیریت می‌کند. تنها وظیفه نشست کاربر که در حال حاضر ارائه می‌شود یکپارچگی با Fleet Commander است که فقط با IPA کار می‌کند. ارائه‌دهندگان پشتیبانی‌شده نشست عبارتند از:

“ipa” برای اجازه به انجام وظایف مرتبط با نشست کاربر.

“none” هیچ نوع وظیفه مرتبط با نشست کاربر را انجام نمی‌دهد.

پیش‌فرض: “none”.

autofs_provider (string)

ارائه‌دهنده autofs مورد استفاده برای دامنه. ارائه‌دهندگان پشتیبانی‌شده autofs عبارتند از:

“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)

ارائه‌دهنده مورد استفاده برای بازیابی اطلاعات هویت میزبان. ارائه‌دهندگان پشتیبانی‌شده hostid عبارتند از:

“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)

عبارت منظم برای این دامنه که نحوه تجزیه رشته حاوی نام کاربر و دامنه را به این مؤلفه‌ها توصیف می‌کند. بخش "domain" می‌تواند با نام دامنه پیکربندی SSSD، یا در مورد زیردامنه‌های اعتماد IPA و دامنه‌های اکتیو دایرکتوری، با نام تخت (NetBIOS) دامنه مطابقت داشته باشد.

پیش‌فرض: “^((?P<name>.+)@(?P<domain>[^@]*)|(?P<name>[^@]+))$” که دو شیوه مختلف را برای نام‌های کاربری مجاز می‌داند:

•username
•username@domain.name

پیش‌فرض برای ارائه‌دهنده AD و IPA: “^(((?P<domain>[^\\]+)\\(?P<name>.+))|((?P<name>.+)@(?P<domain>[^@]+))|((?P<name>[^@\\]+)))$” که سه شیوه مختلف را برای نام‌های کاربری مجاز می‌داند:

•username
•username@domain.name
•domain\username

در حالی که دو مورد اول با پیش‌فرض کلی مطابقت دارند، مورد سوم برای تسهیل یکپارچه‌سازی کاربران دامنه‌های ویندوز معرفی شده است.

عبارت منظم پیش‌فرض re_expression از نویسه “@” به عنوان جداکننده بین نام و دامنه استفاده می‌کند. در نتیجه این تنظیم، پیش‌فرض نویسه “@” را در نام‌های کوتاه نمی‌پذیرد (همان‌طور که در نام گروه‌های ویندوز مجاز است). اگر کاربری مایل به استفاده از نام‌های کوتاه حاوی “@” باشد، باید re_expression سفارشی خود را ایجاد کند.

full_name_format (string)

قالبی سازگار با printf(3) که نحوه ترکیب یک نام کاملاً واجد شرایط را از مؤلفه‌های نام کاربری و نام دامنه توصیف می‌کند.

بسط‌های زیر پشتیبانی می‌شوند:

%1$s

نام کاربری

%2$s

نام دامنه همان‌طور که در پرونده پیکربندی SSSD مشخص شده است.

%3$s

نام تخت (flat name) دامنه. بیشتر برای دامنه‌های اکتیو دایرکتوری، چه به‌طور مستقیم پیکربندی‌شده و چه کشف‌شده از طریق اعتمادهای IPA کاربرد دارد.

پیش‌فرض: “%1$s@%2$s”.

lookup_family_order (string)

امکان انتخاب خانواده نشانی ترجیحی را برای استفاده در هنگام انجام جستجوهای DNS فراهم می‌کند.

مقادیر پشتیبانی‌شده:

ipv4_first: تلاش برای جستجوی نشانی IPv4، و در صورت شکست، تلاش برای IPv6

ipv4_only: تلاش برای تحلیل نام‌های میزبان فقط به نشانی‌های IPv4.

ipv6_first: تلاش برای جستجوی نشانی IPv6، و در صورت شکست، تلاش برای IPv4

ipv6_only: تلاش برای تحلیل نام‌های میزبان فقط به نشانی‌های IPv6.

پیش‌فرض: ipv4_first

dns_resolver_server_timeout (integer)

مدت زمان (به میلی‌ثانیه) را که SSSD قبل از تلاش برای تماس با سرور DNS بعدی سعی می‌کند با سرور DNS گفتگو کند، مشخص می‌کند.

ارائه‌دهنده AD از این گزینه برای مهلت‌های زمانی ping CLDAP نیز استفاده خواهد کرد.

لطفاً برای اطلاعات بیشتر درباره وضوح سرویس به بخش “FAILOVER” مراجعه کنید.

پیش‌فرض: 1000

dns_resolver_op_timeout (integer)

مدت زمان (به ثانیه) انتظار برای وضوح یک پرس‌وجوی منفرد DNS (مانند وضوح یک نام میزبان یا یک رکورد SRV) را قبل از تلاش برای نام میزبان بعدی یا کشف DNS مشخص می‌کند.

لطفاً برای اطلاعات بیشتر درباره وضوح سرویس به بخش “FAILOVER” مراجعه کنید.

پیش‌فرض: 3

dns_resolver_timeout (integer)

مدت زمان (به ثانیه) انتظار برای پاسخ از سرویس بازگشت ناپذیری (fail over) داخلی را قبل از فرض اینکه سرویس در دسترس نیست، مشخص می‌کند. در صورت رسیدن به این مهلت زمانی، دامنه به کار خود در حالت آفلاین ادامه خواهد داد.

لطفاً برای اطلاعات بیشتر درباره وضوح سرویس به بخش “FAILOVER” مراجعه کنید.

پیش‌فرض: 6

dns_resolver_use_search_list (bool)

به‌طور معمول، تحلیل‌گر DNS فهرست دامنه‌های تعریف‌شده در دستورالعمل "search" از پرونده resolv.conf را جستجو می‌کند. این می‌تواند در محیط‌هایی با DNS با پیکربندی نامناسب منجر به تأخیر شود.

اگر نام‌های دامنه کاملاً واجد شرایط (یا _srv_) در پیکربندی SSSD استفاده شوند، تنظیم این گزینه روی FALSE می‌تواند از جستجوهای غیرضروری DNS در چنین محیط‌هایی جلوگیری کند.

پیش‌فرض: TRUE

dns_discovery_domain (string)

اگر از کشف سرویس در بخش پشتیبان استفاده شود، بخش دامنه پرس‌وجوی DNS کشف سرویس را مشخص می‌کند.

پیش‌فرض: استفاده از بخش دامنه نام میزبان ماشین

failover_primary_timeout (integer)

هنگامی که سرور اصلی در دسترس نیست، SSSD به سرور پشتیبان منتقل می‌شود (fail over). این گزینه تعداد ثانیه‌هایی را مشخص می‌کند که SSSD قبل از تلاش برای اتصال مجدد به سرور اصلی منتظر می‌ماند.

یادداشت: حداقل مقدار ۳۱ است.

پیش‌فرض: 31

override_gid (integer)

بازنویسی مقدار GID اصلی برای همه کاربران در دامنه با مقدار مشخص‌شده.

پیش‌فرض: تنظیم نشده (استفاده از مقدار GID اصلی بازیابی‌شده از ارائه‌دهنده هویت)

case_sensitive (string)

برخورد با نام‌های کاربر و گروه به عنوان حساس به حروف کوچک و بزرگ. مقادیر ممکن برای این گزینه عبارتند از:

True

حساس به حروف کوچک و بزرگ. این مقدار برای ارائه‌دهنده AD نامعتبر است.

False

غیرحساس به حروف کوچک و بزرگ.

Preserving

همانند False (غیرحساس به حروف)، اما نام‌ها را در نتیجه عملیات NSS به حروف کوچک تبدیل نمی‌کند. توجه داشته باشید که نام‌های مستعار (و در مورد سرویس‌ها نام‌های پروتکل نیز) همچنان در خروجی به حروف کوچک تبدیل می‌شوند.

اگر می‌خواهید این مقدار را برای دامنه مورد اعتماد با ارائه‌دهنده IPA تنظیم کنید، باید آن را هم روی کلاینت و هم SSSD روی سرور تنظیم نمایید.

این گزینه را می‌توان به ازای هر زیردامنه نیز تنظیم کرد یا از طریق subdomain_inherit به ارث برد.

پیش‌فرض: True (برای ارائه‌دهنده AD برابر False)

avoid_by_id_lookups (boolean)

اگر این گزینه روی 'true' تنظیم شود، SSSD سعی می‌کند از ارسال جستجوها بر اساس شناسه به بخش پشتیبان خودداری کند و در صورت یافتن یک شیء ذخیره‌شده در حافظه موقت با شناسه منطبق، به جستجو بر اساس نام تغییر وضعیت می‌دهد.

این گزینه می‌تواند برای مثال در مواردی استفاده شود که جستجوها بر اساس شناسه به دلیل مفقود بودن نمایه در سمت سرور گران هستند یا حتی ممکن نیستند، مانند نگاشت غیرقابل برگشت شناسه 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)

استفاده از این دایرکتوری خانگی به عنوان مقدار پیش‌فرض برای همه زیردامنه‌های درون این دامنه در اعتماد IPA AD. برای اطلاعات درباره مقادیر ممکن به override_homedir مراجعه کنید. علاوه بر آن‌ها، بسط زیر فقط می‌تواند با subdomain_homedir استفاده شود.

%F

نام تخت (NetBIOS) یک زیردامنه.

این مقدار می‌تواند با گزینه override_homedir بازنویسی شود.

پیش‌فرض: /home/%d/%u

realmd_tags (string)

برچسب‌های مختلف ذخیره‌شده توسط سرویس پیکربندی realmd برای این دامنه.

cached_auth_timeout (int)

مدت زمان به ثانیه از آخرین احراز هویت برخط موفق را مشخص می‌کند که طی آن کاربر با استفاده از اعتبارنامه‌های ذخیره‌شده در حافظه موقت در حالی که SSSD در حالت برخط است احراز هویت خواهد شد. اگر اعتبارنامه‌ها نادرست باشند، SSSD به احراز هویت برخط بازمی‌گردد.

مقدار این گزینه توسط تمام دامنه‌های مورد اعتماد به ارث برده می‌شود. در حال حاضر امکان تنظیم مقدار متفاوت به ازای هر دامنه مورد اعتماد وجود ندارد.

مقدار ویژه 0 نشان می‌دهد که این قابلیت غیرفعال است.

لطفاً توجه داشته باشید اگر “cached_auth_timeout” طولانی‌تر از “pam_id_timeout” باشد، بخش پشتیبان می‌تواند برای مدیریت “initgroups.” فراخوانی شود.

پیش‌فرض: 0

local_auth_policy (string)

سیاست روش‌های احراز هویت محلی. برخی بخش‌های پشتیبان (مانند LDAP، ارائه‌دهنده پروکسی) فقط از احراز هویت مبتنی بر گذرواژه پشتیبانی می‌کنند، در حالی که برخی دیگر می‌توانند احراز هویت کارت هوشمند مبتنی بر PKINIT (AD, IPA)، احراز هویت دومرحله‌ای (IPA)، یا روش‌های دیگر در برابر یک نمونه مرکزی را مدیریت کنند. به‌طور پیش‌فرض در چنین مواردی احراز هویت فقط با روش‌های پشتیبانی‌شده توسط بخش پشتیبان انجام می‌شود. با این گزینه می‌توان روش‌های اضافی را که به‌طور محلی ارزیابی و بررسی می‌شوند فعال کرد.

سه مقدار ممکن برای این گزینه وجود دارد: 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

ایجاد گروه خصوصی کاربر بدون قید و شرط از شماره UID کاربر. در این حالت شماره GID نادیده گرفته می‌شود.

یادداشت: از آنجا که شماره GID و گروه خصوصی کاربر از شماره UID استنباط می‌شوند، وجود ورودی‌های متعدد با شماره UID یا GID یکسان با این گزینه پشتیبانی نمی‌شود. به عبارت دیگر، فعال کردن این گزینه یکتایی را در فضای شناسه اعمال می‌کند.

false

همیشه از شماره GID اصلی کاربر استفاده کن. شماره GID باید به یک شیء گروه در پایگاه‌داده LDAP اشاره داشته باشد.

hybrid

یک گروه اصلی به‌طور خودکار برای ورودی‌های کاربری ایجاد می‌شود که شماره‌های UID و GID آن‌ها مقدار یکسانی دارند و در عین حال شماره GID با یک شیء گروه واقعی در LDAP مطابقت ندارد. اگر مقادیر یکسان باشند، اما GID اصلی در ورودی کاربر توسط یک شیء گروه نیز استفاده شده باشد، GID اصلی کاربر به آن شیء گروه وضوح می‌یابد.

اگر 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 به آن پروکسی می‌کند.

پیش‌فرض: به‌طور پیش‌فرض تنظیم نشده است، باید یک پیکربندی pam موجود را انتخاب کنید یا پیکربندی جدیدی ایجاد کرده و نام سرویس را در اینجا اضافه نمایید. به عنوان جایگزین می‌توانید احراز هویت محلی را با گزینه local_auth_policy فعال کنید.

proxy_lib_name (string)

نام کتابخانه NSS برای استفاده در دامنه‌های پروکسی. توابع NSS که در کتابخانه جستجو می‌شوند به صورت _nss_$(libName)_$(function) هستند، مانند _nss_files_getpwent.

proxy_resolver_lib_name (string)

نام کتابخانه NSS برای استفاده در جستجوهای میزبان‌ها و شبکه‌ها در دامنه‌های پروکسی. توابع NSS که در کتابخانه جستجو می‌شوند به صورت _nss_$(libName)_$(function) هستند، مانند _nss_dns_gethostbyname2_r.

proxy_fast_alias (boolean)

هنگامی که یک کاربر یا گروه با نام در ارائه‌دهنده پروکسی جستجو می‌شود، جستجوی دوم بر اساس شناسه انجام می‌شود تا نام را در صورتی که نام درخواستی یک نام مستعار بوده یکدست کند. تنظیم این گزینه روی true باعث می‌شود SSSD جستجوی شناسه را به دلایل عملکردی از حافظه موقت انجام دهد.

پیش‌فرض: false

proxy_max_children (integer)

این گزینه تعداد فرزندان پروکسی از پیش منشعب‌شده (pre-forked) را مشخص می‌کند. این گزینه برای محیط‌های پربار SSSD مفید است که در آن‌ها sssd ممکن است شکاف‌های فرزند موجود را تمام کند، که به دلیل قرار گرفتن درخواست‌ها در صف، مشکلاتی ایجاد می‌کند.

پیش‌فرض: 10

ابزار SSSD با رابط D-Bus خود (به sssd-ifp(5) مراجعه کنید) برای برنامه‌های کاربردی به عنوان یک درگاه به دایرکتوری LDAP که در آن کاربران و گروه‌ها ذخیره شده‌اند، جذاب است. با این حال، بر خلاف استقرار سنتی SSSD که در آن همه کاربران و گروه‌ها دارای مشخصه‌های POSIX هستند یا می‌توان آن مشخصه‌ها را از SIDهای ویندوز استنباط کرد، در بسیاری از موارد کاربران و گروه‌ها در سناریوی پشتیبانی از برنامه‌های کاربردی فاقد مشخصه‌های POSIX هستند. به جای تنظیم یک بخش “[domain/NAME]”، مدیر سیستم می‌تواند یک بخش “[application/NAME]” ایجاد کند که در داخل نشان‌دهنده یک دامنه با نوع “application” است و به صورت اختیاری تنظیمات را از یک دامنه سنتی SSSD به ارث می‌برد.

لطفاً توجه داشته باشید که دامنه کاربردی همچنان باید صریحاً در پارامتر “domains” فعال شود تا ترتیب جستجو بین دامنه کاربردی و دامنه همتای POSIX آن به درستی تنظیم گردد.

پارامترهای دامنه کاربردی

inherit_from (string)

دامنه نوع POSIX مربوط به SSSD که دامنه کاربردی تمام تنظیمات را از آن به ارث می‌برد. دامنه کاربردی می‌تواند علاوه بر این، تنظیمات اختصاصی خود را به تنظیمات برنامه اضافه کند که تنظیمات دامنه “همتا” را تقویت کرده یا بازنویسی می‌کند.

پیش‌فرض: تنظیم نشده

مثال زیر استفاده از یک دامنه کاربردی را نشان می‌دهد. در این راه‌اندازی، دامنه 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

برخی از گزینه‌های استفاده‌شده در بخش دامنه می‌توانند در بخش دامنه مورد اعتماد نیز استفاده شوند، یعنی در بخشی به نام “[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

برای جزئیات بیشتر درباره این گزینه‌ها، به توضیحات جداگانه آن‌ها در صفحه راهنما مراجعه کنید.

برای مجاز کردن احراز هویت با کارت‌های هوشمند و گواهی‌ها، 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)

نحوه یافتن کاربر برای یک گواهی معین را مشخص می‌کند.

پیش‌فرض:

•LDAP:(userCertificate;binary={cert!bin}) برای ارائه‌دهندگان مبتنی بر LDAP مانند “ldap”, “AD” یا “ipa”.
•اگر maprule تنظیم نشده باشد و ارائه‌دهنده “proxy” باشد، نام RULE_NAME به عنوان نام کاربر منطبق در نظر گرفته می‌شود.

domains (string)

فهرست جداشده با کاما از نام‌های دامنه که قانون باید روی آن‌ها اعمال شود. به‌طور پیش‌فرض یک قانون فقط در دامنه‌ای که در sssd.conf پیکربندی شده معتبر است. اگر ارائه‌دهنده از زیردامنه‌ها پشتیبانی کند، این گزینه می‌تواند برای افزودن قانون به زیردامنه‌ها نیز استفاده شود.

پیش‌فرض: دامنه پیکربندی‌شده در sssd.conf

priority (integer)

یک مقدار عدد صحیح بدون علامت که اولویت قانون را تعیین می‌کند. هر چه عدد بزرگتر باشد اولویت کمتر است. “0” نشان‌دهنده بالاترین اولویت است، در حالی که “4294967295” کمترین اولویت است.

پیش‌فرض: کمترین اولویت

اگر یک پرونده ویژه (/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

مقدار بولی، اگر True باشد فقط یک اعلان منفرد با استفاده از مقدار first_prompt وجود خواهد داشت که در آن انتظار می‌رود هر دو فاکتور به عنوان یک رشته واحد وارد شوند. لطفاً توجه داشته باشید که هر دو فاکتور باید در اینجا وارد شوند، حتی اگر فاکتور دوم اختیاری باشد.

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

برخی از کلاینت‌ها، مانند SSH با 'PasswordAuthentication yes'، اعلان‌های خود را تولید می‌کنند و از اعلان‌های ارائه‌شده توسط SSSD یا سایر ماژول‌های PAM استفاده نمی‌نمایند. علاوه بر این، برای SSH با PasswordAuthentication، اگر احراز هویت دومرحله‌ای در دسترس باشد، SSSD انتظار دارد اعتبارنامه‌های واردشده توسط کاربر در اعلان گذرواژه SSH همواره دو فاکتور در یک رشته منفرد باشند، حتی اگر احراز هویت دومرحله‌ای اختیاری باشد.

[prompting/passkey]

برای پیکربندی اعلان احراز هویت کلید عبور (passkey)، گزینه‌های مجاز عبارتند از:

interactive

مقدار بولی، اگر True باشد پیامی نمایش داده و قبل از آزمایش حضور دستگاه کلید عبور منتظر می‌ماند. اگر دستگاه شما فاقد محرک لمسی است توصیه می‌شود.

interactive_prompt

برای تغییر پیام اعلان تعاملی.

touch

مقدار بولی، اگر True باشد پیامی نمایش داده می‌شود تا به کاربر یادآوری کند دستگاه را لمس کند.

touch_prompt

برای تغییر پیام اعلان لمسی.

[prompting/oauth2]

برای پیکربندی اعلان احراز هویت OAuth2، گزینه‌های مجاز عبارتند از:

interactive

مقدار بولی، اگر True باشد پیامی پس از درخواست احراز هویت از کاربر نمایش داده و قبل از درخواست توکن دسترسی منتظر می‌ماند.

اگر False باشد، اطمینان حاصل کنید که “idp_request_timeout” به اندازه کافی بالا تنظیم شده باشد تا به کاربر زمان لازم برای احراز هویت داده شود.

پیش‌فرض: true

interactive_prompt

برای تغییر پیام اعلان تعاملی.

امکان افزودن یک زیربخش برای سرویس‌های خاص PAM وجود دارد، به عنوان مثال “[prompting/password/sshd]” تا اعلان برای این سرویس به صورت جداگانه تغییر یابد.

۱. مثال زیر یک پیکربندی معمول 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

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)

The SSSD upstream - https://github.com/SSSD/sssd

06/09/2026 SSSD