SSSD-LDAP(5) | Формати файлів та правила | SSSD-LDAP(5) |
NAME¶
sssd-ldap - Модуль надання даних LDAP SSSD
ОПИС¶
На цій сторінці довідника описано налаштування доменів LDAP для sssd(8). Щоб дізнатися більше про синтаксис налаштування, зверніться до розділу «ФОРМАТ ФАЙЛА» сторінки довідника sssd.conf(5).
Ви можете налаштувати SSSD на використання декількох доменів LDAP.
LDAP back end supports id, auth, access and chpass providers. If you want to authenticate against an LDAP server either TLS/SSL or LDAPS is required. sssd does not support authentication over an unencrypted channel. Even if the LDAP server is used only as an identity provider, an encrypted channel is strongly recommended. Please refer to “ldap_access_filter” config option for more information about using LDAP as an access provider.
ПАРАМЕТРИ НАЛАШТУВАННЯ¶
Всі загальні параметри налаштування, які стосуються доменів SSSD, також стосуються і доменів LDAP. Зверніться до розділу «РОЗДІЛИ ДОМЕНІВ» сторінки підручника sssd.conf(5), щоб дізнатися більше. Зауважте, що атрибути прив'язки до LDAP SSSD описано на сторінці підручника щодо sssd-ldap-attributes(5).
ldap_uri, ldap_backup_uri (рядок)
Формат адреси має відповідати формату, що визначається RFC 2732:
ldap[s]://<вузол>[:порт]
У явних адресах IPv6 <вузол> має бути вказано у квадратних дужках, []
приклад: ldap://[fc00::126:25]:389
ldap_chpass_uri, ldap_chpass_backup_uri (рядок)
Для того, щоб уможливити визначення служб, слід встановити значення параметра ldap_chpass_dns_service_name.
Типове значення: порожнє, тобто використовується ldap_uri.
ldap_search_base (рядок)
Починаючи з SSSD 1.7.0, у SSSD передбачено підтримку визначення декількох основ для пошуку за допомогою таких синтаксичних конструкцій:
основа_пошуку[?діапазон?[фільтр][?основа_пошуку?діапазон?[фільтр]]*]
Діапазоном може бути одне зі значень, «base» (основа), «onelevel» (окремий рівень) або «subtree» (піддерево).
Фільтром має бути коректний запис фільтрування LDAP, відповідно до специфікації http://www.ietf.org/rfc/rfc2254.txt
Приклади:
ldap_search_base = dc=example,dc=com (еквівалентне до) ldap_search_base = dc=example,dc=com?subtree?
ldap_search_base = cn=host_specific,dc=example,dc=com?subtree?(host=thishost)?dc=example.com?subtree?
Зауваження: підтримки визначення декількох основ пошуку з посиланням на об’єкти з однаковими назвами (наприклад груп з однаковою назвою у двох різних основах пошуку) не передбачено. Такі визначення можуть призвести до непередбачуваних результатів на клієнтських комп’ютерах.
Типове значення: якщо значення не встановлено, буде використано значення атрибута defaultNamingContext або namingContexts з RootDSE сервера LDAP. Якщо запису defaultNamingContext не існує або цей запис має порожнє значення, буде використано namingContexts. Для роботи системи потрібно, щоб атрибут namingContexts має єдине значення DN бази пошуку сервера LDAP. Підтримки визначення декількох значень не передбачено.
ldap_schema (рядок)
У поточній версії передбачено підтримку чотирьох типів схем:
Основною відмінністю між цими типами схем є спосіб запису даних щодо участі у групах на сервері. Відповідно до rfc2307, список учасників груп впорядковується за користувачами у атрибуті memberUid. Відповідно до rfc2307bis і IPA, список учасників груп впорядковується за назвою домену (DN) і зберігається у атрибуті member. Відповідно до типу схеми AD, встановлюється відповідність зі значеннями Active Directory 2008r2.
Типове значення: rfc2307
ldap_pwmodify_mode (рядок)
У поточній версії передбачено два режими:
Зауваження: спочатку буде встановлено нове з'єднання для перевірки поточного пароля шляхом прив'язування до системи від імені користувача, від якого надійшов запит щодо зміни пароля. Якщо з'єднання вдасться встановити, його буде використано для зміни пароля, тому у користувача має бути доступ до запису атрибута userPassword.
Типове значення: exop
ldap_default_bind_dn (рядок)
ldap_default_authtok_type (рядок)
У поточній версії передбачено підтримку двох механізмів:
password
obfuscated_password
Типове значення: password
Щоб дізнатися більше, ознайомтеся зі сторінкою підручника щодо sss_obfuscate(8).
ldap_default_authtok (рядок)
ldap_force_upper_case_realm (булеве значення)
Типове значення: false
ldap_enumeration_refresh_timeout (ціле число)
Цей параметр також може бути встановлено для окремого піддомену або успадковано за допомогою subdomain_inherit.
Типове значення: 300
ldap_purge_cache_timeout (ціле число)
Встановлення нульового значення цього параметра вимикає дію з очищення кешу. Будь ласка, зауважте, що якщо увімкнено нумерацію, дія з очищення є необхідною з метою виявлення записів, вилучених із сервера, її не можна вимикати. Типово, дія з очищення, якщо увімкнено нумерацію, виконується кожні 3 години.
Цей параметр також може бути встановлено для окремого піддомену або успадковано за допомогою subdomain_inherit.
Типове значення: 0 (вимкнено)
ldap_group_nesting_level (ціле число)
Зауваження: за допомогою цього параметра визначається гарантований рівень вкладеності груп для обробки під час будь-якого пошуку. Втім, може бути повернуто і групи із більшим рівнем вкладеності, якщо під час попередніх пошуків відбувалася обробка вищих рівнів вкладеності. Крім того, послідовні пошуки інших груп можуть розширити набір результатів початкового пошуку, якщо запити щодо пошуку надходять повторно.
Якщо значенням ldap_group_nesting_level є 0, вкладені групи взагалі не оброблятимуться. Втім, якщо з’єднання встановлено з Active-Directory Server 2008 та новішими версіями з використанням “id_provider=ad”, слід також вимкнути використання груп реєстраційних записів (Token-Groups) встановленням для параметра ldap_use_tokengroups значення false з метою обмеження вкладеності у групах.
Типове значення: 2
ldap_use_tokengroups
Цей параметр також може бути встановлено для окремого піддомену або успадковано за допомогою subdomain_inherit.
Типове значення: True для AD і IPA, інакше False.
ldap_host_search_base (рядок)
Ознайомтеся з розділом щодо «ldap_search_base», щоб дізнатися більше про налаштування декількох основ пошуку.
Типове значення: значення ldap_search_base
ldap_service_search_base (рядок)
синтаксис:
search_base[?scope?[filter][?search_base?scope?[filter]]*]
Діапазоном може бути одне зі значень, «base» (основа), «onelevel» (окремий рівень) або «subtree» (піддерево). Докладніший опис діапазонів наведено у розділі 4.5.1.2 документа http://tools.ietf.org/html/rfc4511
Фільтром має бути коректний запис фільтрування LDAP, відповідно до специфікації http://www.ietf.org/rfc/rfc2254.txt
Приклади використання цих синтаксичних конструкцій можна знайти у розділі прикладів «ldap_search_base».
Типове значення: значення ldap_search_base
Будь ласка, зауважте, що підтримки визначення області або фільтра для пошуків на сервері Active Directory не передбачено. Це може призвести до отримання значної кількості результатів і викликати реакцію з боку розширення діапазону отримання (Range Retrieval).
ldap_iphost_search_base (рядок)
синтаксис:
search_base[?scope?[filter][?search_base?scope?[filter]]*]
Діапазоном може бути одне зі значень, «base» (основа), «onelevel» (окремий рівень) або «subtree» (піддерево). Докладніший опис діапазонів наведено у розділі 4.5.1.2 документа http://tools.ietf.org/html/rfc4511
Фільтром має бути коректний запис фільтрування LDAP, відповідно до специфікації http://www.ietf.org/rfc/rfc2254.txt
Приклади використання цих синтаксичних конструкцій можна знайти у розділі прикладів «ldap_search_base».
Типове значення: значення ldap_search_base
Будь ласка, зауважте, що підтримки визначення області або фільтра для пошуків на сервері Active Directory не передбачено. Це може призвести до отримання значної кількості результатів і викликати реакцію з боку розширення діапазону отримання (Range Retrieval).
ldap_ipnetwork_search_base (рядок)
синтаксис:
search_base[?scope?[filter][?search_base?scope?[filter]]*]
Діапазоном може бути одне зі значень, «base» (основа), «onelevel» (окремий рівень) або «subtree» (піддерево). Докладніший опис діапазонів наведено у розділі 4.5.1.2 документа http://tools.ietf.org/html/rfc4511
Фільтром має бути коректний запис фільтрування LDAP, відповідно до специфікації http://www.ietf.org/rfc/rfc2254.txt
Приклади використання цих синтаксичних конструкцій можна знайти у розділі прикладів «ldap_search_base».
Типове значення: значення ldap_search_base
Будь ласка, зауважте, що підтримки визначення області або фільтра для пошуків на сервері Active Directory не передбачено. Це може призвести до отримання значної кількості результатів і викликати реакцію з боку розширення діапазону отримання (Range Retrieval).
ldap_search_timeout (ціле число)
Зауваження: роботу цього параметра буде змінено у наступних версіях SSSD. Ймовірно, його буде колись замінено на послідовність часів очікування для окремих типів пошуків.
Цей параметр також може бути встановлено для окремого піддомену або успадковано за допомогою subdomain_inherit.
Типове значення: 6
ldap_enumeration_search_timeout (ціле число)
Цей параметр також може бути встановлено для окремого піддомену або успадковано за допомогою subdomain_inherit.
Типове значення: 60
ldap_network_timeout (ціле число)
Цей параметр також може бути встановлено для окремого піддомену або успадковано за допомогою subdomain_inherit.
Типове значення: 6
ldap_opt_timeout (ціле число)
Цей параметр також може бути встановлено для окремого піддомену або успадковано за допомогою subdomain_inherit.
Типове значення: 8
ldap_connection_expire_timeout (ціле значення)
Якщо з'єднання є бездіяльним (жодна дія у ньому не виконується активно) протягом ldap_opt_timeout секунд завершення строку дії, його буде передчасно розірвано, щоб новий запит не міг потребувати, щоб з'єднання лишалося відкритим після завершення його строку дії. Неявним чином, це означає, що з'єднання завжди розриватимуться негайно і не використовуватимуться повторно, якщо ldap_connection_expire_timeout <= ldap_opt_timout
Цей час очікування може бути подовжено випадковим значенням, яке вказано параметром ldap_connection_expire_offset
Цей параметр також може бути встановлено для окремого піддомену або успадковано за допомогою subdomain_inherit.
Типове значення: 900 (15 хвилин)
ldap_connection_expire_offset (ціле число)
Цей параметр також може бути встановлено для окремого піддомену або успадковано за допомогою subdomain_inherit.
Типове значення: 0
ldap_connection_idle_timeout (ціле значення)
Ви можете вимкнути цей час очікування, встановивши значення 0.
Цей параметр також може бути встановлено для окремого піддомену або успадковано за допомогою subdomain_inherit.
Типове значення: 900 (15 хвилин)
ldap_page_size (ціле число)
Типове значення: 1000
ldap_disable_paging (булеве значення)
Приклад: сервери OpenLDAP з модулем контролю сторінок, встановленим на сервері, але не увімкненим, повідомляють про підтримку у RootDSE, але цією підтримкою не можна скористатися.
Приклад: 389 DS має ваду, пов’язану з тим, що здатен підтримувати лише один процес контролю сторінок для одного з’єднання. У разі значного навантаження це може призвести до відмови у виконанні запитів.
Типове значення: False
ldap_disable_range_retrieval (булеве значення)
У Active Directory за допомогою правила MaxValRange (типове значення 1500 записів) обмежується кількість записів, які може бути отримано під час пошуку. Якщо у певній групі міститься більше записів учасників, до відповіді буде включено специфічне для AD розширення діапазону. За допомогою цього параметра можна вимкнути обробку розширення діапазону, отже великі групи буде представлено як такі, у яких немає учасників.
Типове значення: False
ldap_sasl_minssf (ціле значення)
Типове значення: типове для системи значення (зазвичай, визначається у ldap.conf)
ldap_sasl_maxssf (ціле число)
Типове значення: типове для системи значення (зазвичай, визначається у ldap.conf)
ldap_deref_threshold (ціле число)
Ви можете повністю вимкнути запити щодо розіменувань встановленням значення 0. Будь ласка, зауважте, що у коді SSSD, зокрема засобу надання даних HBAC IPA, є інструкції, які реалізовано лише з використанням викликів щодо розіменування, тому навіть явне вимикання розіменувань не призведе до вимикання розіменувань у цих частинах коду, якщо на сервері передбачено підтримку розіменувань і оголошено про керування розіменуваннями у об'єкті rootDSE.
Пошук з розіменуванням — це отримання всіх записів учасників групи за одним викликом LDAP. У різних серверах LDAP може бути передбачено різні способи розіменування. У поточній версії передбачено підтримку серверів 389/RHDS, OpenLDAP та Active Directory.
Зауваження: якщо у одній з основ пошуку визначається фільтр пошуку, покращення швидкодії фільтрів розіменування буде вимкнено, незалежно від використання цього параметра.
Типове значення: 10
ldap_ignore_unreadable_references (булеве значення)
Цей параметр може бути корисним, якщо використано надавач даних AD, і обліковий запис комп'ютера, який sssd використовує для встановлення з'єднання із AD, не має доступу до певного запису або піддерева LDAP з міркувань безпеки.
Типове значення: False
ldap_tls_reqcert (рядок)
never = клієнт не надсилатиме запиту і не перевірятиме жодних сертифікатів сервера.
allow = надіслати запит щодо сертифіката сервера. Якщо сертифікат не буде надано, продовжити сеанс у звичайному режимі. Якщо буде надано помилковий сертифікат, ігнорувати і продовжити сеанс у звичайному режимі.
try = надіслати запит щодо сертифіката сервера. Якщо сертифікат не буде надано, продовжити сеанс у звичайному режимі. Якщо буде надано помилковий сертифікат, негайно перервати сеанс.
demand = надіслати запит щодо сертифіката сервера. Якщо сертифікат не буде надано або буде надано помилковий сертифікат, негайно перервати сеанс.
hard = те саме, що і “demand”
Типове значення: hard
ldap_tls_cacert (рядок)
Типове значення: використовувати типові параметри OpenLDAP, що зберігаються у /etc/openldap/ldap.conf
ldap_tls_cacertdir (рядок)
Типове значення: використовувати типові параметри OpenLDAP, що зберігаються у /etc/openldap/ldap.conf
ldap_tls_cert (рядок)
Типове значення: not set
ldap_tls_key (рядок)
Типове значення: not set
ldap_tls_cipher_suite (рядок)
Типове значення: використовувати типові параметри OpenLDAP, що зберігаються у /etc/openldap/ldap.conf
ldap_id_use_start_tls (булеве значення)
Типове значення: false
ldap_id_mapping (булеве значення)
У поточній версії у цій можливості передбачено підтримку лише встановлення відповідності objectSID у ActiveDirectory.
Типове значення: false
ldap_min_id, ldap_max_id (ціле число)
Типове значення: не встановлено (обидва параметри встановлено у значення 0)
ldap_sasl_mech (рядок)
Якщо у модулі обробки передбачено підтримку піддоменів, значення для піддоменів ldap_sasl_mech буде автоматично успадковано від домену. Якщо для якогось піддомену потрібне інше значення, його можна перезаписати встановленням ldap_sasl_mech для цього піддомену окремо. Докладніший опис можна знайти у розділі щодо довірених доменів у підручнику з sssd.conf(5).
Типове значення: not set
ldap_sasl_authid (рядок)
hostname@REALM netbiosname$@REALM host/hostname@REALM *$@REALM host/*@REALM host/*
Якщо жоден з них не буде знайдено, буде повернуто перший реєстраційний запис у таблиці ключів.
Типове значення: вузол/назва_вузла@ОБЛАСТЬ
ldap_sasl_realm (рядок)
Типове значення: значення krb5_realm.
ldap_sasl_canonicalize (булеве значення)
Типове значення: false;
ldap_krb5_keytab (рядок)
Цей параметр також може бути встановлено для окремого піддомену або успадковано за допомогою subdomain_inherit.
Типове значення: системна таблиця ключів, зазвичай /etc/krb5.keytab
ldap_krb5_init_creds (булеве значення)
Типове значення: true
ldap_krb5_ticket_lifetime (ціле число)
Цей параметр також може бути встановлено для окремого піддомену або успадковано за допомогою subdomain_inherit.
Типове значення: 86400 (24 години)
krb5_server, krb5_backup_server (рядок)
Під час використання виявлення служб для серверів KDC або kpasswd SSSD спочатку намагається знайти записи DNS, у яких визначається протокол _udp. Використання протоколу _tcp відбувається, лише якщо таких записів не вдасться знайти.
У попередніх випусках SSSD цей параметр мав назву «krb5_kdcip». У поточній версії передбачено розпізнавання цієї застарілої назви, але користувачам варто перейти на використання «krb5_server» у файлах налаштувань.
krb5_realm (рядок)
Типове значення: типове значення системи, див. /etc/krb5.conf
krb5_canonicalize (булеве значення)
Типове значення: false
krb5_use_kdcinfo (булеве значення)
Див. сторінку підручника (man) sssd_krb5_locator_plugin(8), щоб дізнатися більше про додаток пошуку.
Типове значення: true
ldap_pwd_policy (рядок)
none — не використовувати перевірки на боці клієнта. У разі використання цього варіанта перевірку на боці сервера вимкнено не буде.
shadow — використовувати атрибути у стилі shadow(5) для визначення того, чи чинним є пароль.
mit_kerberos — використовувати атрибути MIT Kerberos для визначення завершення строку дії пароля. У разі зміни пароля скористайтеся chpass_provider=krb5 для оновлення цих атрибутів.
Типове значення: none
Зауваження: якщо правила поводження з паролями налаштовано на боці сервера, ці правила мають пріоритет над правилами, встановленими за допомогою цього параметра.
ldap_referrals (булеве значення)
Зауважте, що sssd підтримує визначення напрямків, лише якщо систему зібрано з версією OpenLDAP 2.4.13 або новішою версією.
Перехід за спрямуваннями може призвести до значних втрат швидкодії у середовищах, де такі спрямування використовуються широко. Прикладом такого середовища може бути Microsoft Active Directory. Якщо у вашому середовищі спрямування не є обов’язковими, встановлення для цього параметра значення «false» може значно пришвидшити роботу. Отже, встановлення для цього параметра значення false рекомендоване у випадку, коли надавач даних LDAP SSSD використовується разом із модулем обробки Microsoft Active Directory. Навіть якщо SSSD зможе переходити за посиланнями до іншого AD DC, додаткові дані виявляться недоступними.
Типове значення: true
ldap_dns_service_name (рядок)
Типове значення: ldap
ldap_chpass_dns_service_name (рядок)
Типове значення: не встановлено, тобто пошук служб вимкнено
ldap_chpass_update_last_change (булеве значення)
Рекомендуємо встановити цей параметр явним чином, якщо використано "ldap_pwd_policy = shadow", щоб дати SSSD знати, оновлюватиме LDAP атрибут shadowLastChange автоматично після зміни пароля чи SSSD має зробити це окремо.
Типове значення: False
ldap_access_filter (рядок)
Приклад:
access_provider = ldap ldap_access_filter = (employeeType=admin)
У прикладі доступ до цього вузла обмежено користувачами, чий атрибут employeeType встановлено у значення «admin».
Автономне кешування для цієї можливості обмежено визначенням того, чи було надано користувачеві під час попередньої спроби увійти до системи з мережі права доступу. Якщо під час останньої спроби увійти такі права було надано, система продовжуватиме надавати права доступу у автономному режимі. Якщо ж таких прав не було надано, у автономному режимі їх також не буде надано.
Типове значення: порожній рядок
ldap_account_expire_policy (рядок)
Будь ласка, зауважте, що завжди варто використовувати керування доступом на боці сервера, тобто сервер LDAP має відмовляти у запитах щодо прив’язування з відповідним кодом помилки, навіть якщо вказано правильний пароль.
Можна використовувати такі значення:
shadow: це значення ldap_user_shadow_expire допомагає визначити, чи завершено строк дії облікового запису.
ad: скористатися значенням 32-бітового поля ldap_user_ad_user_account_control і дозволити доступ, якщо другий біт має нульове значення. Якщо атрибут не буде знайдено, доступ буде дозволено. Також буде перевірено, чи не вичерпано строк дії облікового запису.
rhds, ipa, 389ds: використовувати для перевірки доступу значення ldap_ns_account_lock.
nds: для перевірки доступу використовувати значення ldap_user_nds_login_allowed_time_map, ldap_user_nds_login_disabled і ldap_user_nds_login_expiration_time. Якщо не буде виявлено жодного з цих атрибутів, надати доступ.
Будь ласка, зауважте, що параметр налаштування ldap_access_order має включати “expire”, щоб можна було користуватися параметром ldap_account_expire_policy.
Типове значення: порожній рядок
ldap_access_order (рядок)
filter: використовувати ldap_access_filter
lockout: використовувати блокування облікових записів. Якщо встановлено, цей параметр забороняє доступ, якщо існує атрибут ldap «pwdAccountLockedTime» і його значенням є «000001010000Z». Будь ласка, ознайомтеся із документацією до параметра ldap_pwdlockout_dn. Зауважте, що для працездатності цієї можливості слід встановити «access_provider = ldap».
Будь ласка, зауважте, що цей параметр має нижчий пріоритет за параметр «ppolicy», його може бути вилучено у наступних випусках.
ppolicy: використовувати блокування облікових записів. Якщо встановлено, забороняє доступ у випадку наявності атрибута ldap «pwdAccountLockedTime» рівного «000001010000Z» або такого, що відповідає моменту часу у минулому. Значення атрибута «pwdAccountLockedTime» має завершуватися на «Z», що позначає часовий пояс UTC. Підтримки інших часових поясів у поточній версії не передбачено, їхнє використання призводитиме до появи повідомлення про заборону доступу, коли користувачі намагатимуться увійти до системи. Докладніший опис можна знайти у розділі щодо параметра ldap_pwdlockout_dn. Будь ласка, зауважте, що для працездатності цього параметра слід встановити значення «access_provider = ldap».
expire: використовувати ldap_account_expire_policy
pwd_expire_policy_reject, pwd_expire_policy_warn, pwd_expire_policy_renew: Ці параметри корисні, якщо користувачам потрібні попередження щодо скорого завершення строку дії пароля, і у випадках, коли розпізнавання засновано на відмінних від паролів методах, наприклад на ключах SSH.
The difference between these options is the action taken if user password is expired:
Будь ласка, зауважте, що для того, щоб цим можна було скористатися, слід встановити «access_provider = ldap». Крім того, слід встановити для параметра «ldap_pwd_policy» відповідні правила поводження із паролями.
authorized_service: використовувати для визначення можливості доступу атрибут authorizedService
host: за допомогою цього атрибута вузла можна визначити права доступу
rhost: використовувати атрибут rhost для визначення того, чи матиме віддалений вузол доступ
Будь ласка, зауважте, що значення поля rhost у pam встановлюється програмою. Варто перевірити, що програма надсилає pam, перш ніж вмикати цей варіант керування доступом.
Типове значення: filter
Зауважте, що програма повідомить про помилку, якщо одне значення було використано декілька разів.
ldap_pwdlockout_dn (рядок)
Приклад: cn=ppolicy,ou=policies,dc=example,dc=com
Типове значення: cn=ppolicy,ou=policies,$ldap_search_base
ldap_deref (рядок)
never: ніколи не виконувати розіменування псевдонімів.
searching: розіменування псевдонімів відбувається у межах основного об’єкта, а не на основі визначення місця основного об’єкта пошуку.
finding: розіменування псевдонімів відбувається лише під час визначення місця основного об’єкта пошуку.
always: розіменування псевдонімів відбувається як під час пошуку, так і під час визначення місця основного об’єкта пошуку.
Типове значення: не встановлено (обробка бібліотеками LDAP клієнта за сценарієм never)
ldap_rfc2307_fallback_to_local_users (булеве значення)
У деяких середовищах, де використовується схема RFC2307, локальних користувачів можна зробити учасниками груп LDAP додаванням імен цих користувачів до атрибута memberUid. Узгодженість домену може бути скомпрометовано, якщо буде виконано подібне додавання учасника, тому SSSD за звичайних умов вилучає записи користувачів, яких «не вистачає», з кешованих даних щодо участі у групах, щойно nsswitch спробує отримати дані щодо користувачів за допомогою виклику getpw*() або initgroups().
У разі використання цього параметра програма повертається до перевірки посилань на локальних користувачів і кешує їх так, що наступні виклики initgroups() розширюватимуть список локальних користувачів додатковими групами LDAP.
Типове значення: false
wildcard_limit (ціле число)
У поточній версії пошук із використанням символів-замінників передбачено лише для відповідача InfoPipe.
Типове значення: 1000 (часто розмір однієї сторінки)
ldap_library_debug_level (ціле число)
OpenLDAP використовує бітову карту для вмикання діагностики для певних компонентів, -1 увімкне повне виведення діагностичних даних.
Типове значення: 0 (діагностику libldap вимкнено)
ПАРАМЕТРИ SUDO¶
Докладні настанов щодо налаштовування sudo_provider можна знайти на сторінці довідника (man) sssd-sudo(5).
ldap_sudo_full_refresh_interval (ціле число)
Це значення має перевищувати значення ldap_sudo_smart_refresh_interval
Ви можете вимкнути повне оновлення встановленням для цього параметра значення 0. Втім, обов'язково має бути увімкнено або кмітливе або повне оновлення.
Типове значення: 21600 (6 годин)
ldap_sudo_smart_refresh_interval (ціле число)
Якщо підтримки атрибутів USN на сервері не передбачено, буде використано дані атрибута modifyTimestamp.
Зауваження: набільше значення USN можна оновити у три способи: 1) повним і кмітливим оновленням sudo (якщо виявлено оновлені правила), 2) нумеруванням користувачів і груп (якщо виявлено увімкнені і оновлені записи користувачів або груп) і 3) повторним з'єднанням із сервером (типово, кожні 15 хвилин, див. ldap_connection_expire_timeout).
Ви можете вимкнути кмітливе оновлення встановленням для цього параметра значення 0. Втім, обов'язково має бути увімкнено або кмітливе або повне оновлення.
Типове значення: 900 (15 хвилин)
ldap_sudo_random_offset (ціле число)
Зауважте, що цей випадковий зсув буде також застосовано під час першого запуску SSSD, що затримає перше оновлення правил sudo. Затримка збільшує час, протягом якого правила sudo є недоступними для використання.
Ви можете вимкнути цей зсув, встановивши значення 0.
Типове значення: 0 (вимкнено)
ldap_sudo_use_host_filter (булеве значення)
Типове значення: true
ldap_sudo_hostnames (рядок)
Якщо значення цього параметра є порожнім, SSSD намагатиметься визначити назву вузла та повну назву комп’ютера у домені у автоматичному режимі.
Якщо для ldap_sudo_use_host_filter встановлено значення false, цей параметр ні на що не впливатиме.
Типове значення: не вказано
ldap_sudo_ip (рядок)
Якщо значення цього параметра є порожнім, SSSD намагатиметься визначити адресу у автоматичному режимі.
Якщо для ldap_sudo_use_host_filter встановлено значення false, цей параметр ні на що не впливатиме.
Типове значення: не вказано
ldap_sudo_include_netgroups (булеве значення)
Якщо для ldap_sudo_use_host_filter встановлено значення false, цей параметр ні на що не впливатиме.
Типове значення: true
ldap_sudo_include_regexp (булеве значення)
Якщо для ldap_sudo_use_host_filter встановлено значення false, цей параметр ні на що не впливатиме.
Note
Використання символів-замінників є дуже обчислювально вартісною операцією для сервера LDAP!
На цій сторінці довідника наведено дані щодо відповідності назв атрибутів. Докладний опис семантики атрибутів, пов’язаних з sudo, можна знайти у довідці з sudoers.ldap(5).
ПАРАМЕТРИ AUTOFS¶
Деякі типові значення параметрів, описаних нижче, залежать від бази даних LDAP.
ldap_autofs_map_master_name (рядок)
Типове значення: auto.master
ldap_autofs_map_object_class (рядок)
Типове значення: nisMap (rfc2307, autofs_provider=ad), у інших випадках automountMap
ldap_autofs_map_name (рядок)
Типове значення: nisMapName (rfc2307, autofs_provider=ad), у інших випадках automountMapName
ldap_autofs_entry_object_class (рядок)
Типове значення: nisObject (rfc2307, autofs_provider=ad), у інших випадках automount
ldap_autofs_entry_key (рядок)
Типове значення: cn (rfc2307, autofs_provider=ad), у інших випадках automountKey
ldap_autofs_entry_value (рядок)
Типове значення: nisMapEntry (rfc2307, autofs_provider=ad), у інших випадках automountInformation
Будь ласка, зауважте, що засіб автоматичного монтування читає основну карту лише під час запуску, отже якщо до ssd.conf внесено будь-які пов’язані з autofs зміни, типово слід перезапустити фонову службу автоматичного монтування після перезапуску SSSD.
ДОДАТКОВІ ПАРАМЕТРИ¶
Підтримку цих параметрів передбачено доменами LDAP, але користуватися ними слід обережно. Будь ласка, використовуйте їх у налаштуваннях, лише якщо вам відомі наслідки ваших дій.
ldap_netgroup_search_base (рядок)
синтаксис:
search_base[?scope?[filter][?search_base?scope?[filter]]*]
Діапазоном може бути одне зі значень, «base» (основа), «onelevel» (окремий рівень) або «subtree» (піддерево). Докладніший опис діапазонів наведено у розділі 4.5.1.2 документа http://tools.ietf.org/html/rfc4511
Фільтром має бути коректний запис фільтрування LDAP, відповідно до специфікації http://www.ietf.org/rfc/rfc2254.txt
Приклади використання цих синтаксичних конструкцій можна знайти у розділі прикладів «ldap_search_base».
Типове значення: значення ldap_search_base
Будь ласка, зауважте, що підтримки визначення області або фільтра для пошуків на сервері Active Directory не передбачено. Це може призвести до отримання значної кількості результатів і викликати реакцію з боку розширення діапазону отримання (Range Retrieval).
ldap_user_search_base (рядок)
синтаксис:
search_base[?scope?[filter][?search_base?scope?[filter]]*]
Діапазоном може бути одне зі значень, «base» (основа), «onelevel» (окремий рівень) або «subtree» (піддерево). Докладніший опис діапазонів наведено у розділі 4.5.1.2 документа http://tools.ietf.org/html/rfc4511
Фільтром має бути коректний запис фільтрування LDAP, відповідно до специфікації http://www.ietf.org/rfc/rfc2254.txt
Приклади використання цих синтаксичних конструкцій можна знайти у розділі прикладів «ldap_search_base».
Типове значення: значення ldap_search_base
Будь ласка, зауважте, що підтримки визначення області або фільтра для пошуків на сервері Active Directory не передбачено. Це може призвести до отримання значної кількості результатів і викликати реакцію з боку розширення діапазону отримання (Range Retrieval).
ldap_group_search_base (рядок)
синтаксис:
search_base[?scope?[filter][?search_base?scope?[filter]]*]
Діапазоном може бути одне зі значень, «base» (основа), «onelevel» (окремий рівень) або «subtree» (піддерево). Докладніший опис діапазонів наведено у розділі 4.5.1.2 документа http://tools.ietf.org/html/rfc4511
Фільтром має бути коректний запис фільтрування LDAP, відповідно до специфікації http://www.ietf.org/rfc/rfc2254.txt
Приклади використання цих синтаксичних конструкцій можна знайти у розділі прикладів «ldap_search_base».
Типове значення: значення ldap_search_base
Будь ласка, зауважте, що підтримки визначення області або фільтра для пошуків на сервері Active Directory не передбачено. Це може призвести до отримання значної кількості результатів і викликати реакцію з боку розширення діапазону отримання (Range Retrieval).
Note
Якщо увімкнено параметр “ldap_use_tokengroups”, пошуки в Active Directory не буде обмежено — він повертатиме усі дані щодо участі у групах, навіть без прив'язки до GID. Рекомендуємо вимкнути цю можливість, якщо назви груп показуються неправильно.
ldap_sudo_search_base (рядок)
синтаксис:
search_base[?scope?[filter][?search_base?scope?[filter]]*]
Діапазоном може бути одне зі значень, «base» (основа), «onelevel» (окремий рівень) або «subtree» (піддерево). Докладніший опис діапазонів наведено у розділі 4.5.1.2 документа http://tools.ietf.org/html/rfc4511
Фільтром має бути коректний запис фільтрування LDAP, відповідно до специфікації http://www.ietf.org/rfc/rfc2254.txt
Приклади використання цих синтаксичних конструкцій можна знайти у розділі прикладів «ldap_search_base».
Типове значення: значення ldap_search_base
Будь ласка, зауважте, що підтримки визначення області або фільтра для пошуків на сервері Active Directory не передбачено. Це може призвести до отримання значної кількості результатів і викликати реакцію з боку розширення діапазону отримання (Range Retrieval).
ldap_autofs_search_base (рядок)
синтаксис:
search_base[?scope?[filter][?search_base?scope?[filter]]*]
Діапазоном може бути одне зі значень, «base» (основа), «onelevel» (окремий рівень) або «subtree» (піддерево). Докладніший опис діапазонів наведено у розділі 4.5.1.2 документа http://tools.ietf.org/html/rfc4511
Фільтром має бути коректний запис фільтрування LDAP, відповідно до специфікації http://www.ietf.org/rfc/rfc2254.txt
Приклади використання цих синтаксичних конструкцій можна знайти у розділі прикладів «ldap_search_base».
Типове значення: значення ldap_search_base
Будь ласка, зауважте, що підтримки визначення області або фільтра для пошуків на сервері Active Directory не передбачено. Це може призвести до отримання значної кількості результатів і викликати реакцію з боку розширення діапазону отримання (Range Retrieval).
РЕЗЕРВ¶
Можливість резервування надає змогу модулям обробки автоматично перемикатися на інші сервери, якщо спроба встановлення з’єднання з поточним сервером зазнає невдачі.
Синтаксичні конструкції визначення резервного сервера¶
Список записів серверів, відокремлених комами. Між комами можна використовувати довільну кількість пробілів. Порядок у списку визначає пріоритет. У списку може бути будь-яка кількість записів серверів.
Для кожного з параметрів налаштування з увімкненим резервним отриманням існує два варіанти: основний і резервний. Ідея полягає у тому, що сервери з основного списку мають вищий пріоритет за резервні сервери, пошук же на резервних серверах виконується, лише якщо не вдасться з’єднатися з жодним з основних серверів. Якщо буде вибрано резервний сервер, встановлюється час очікування у 31 секунду. Після завершення часу очікування SSSD періодично намагатиметься повторно встановити з’єднання з основними серверами. Якщо спроба буде успішною, поточний активний резервний сервер буде замінено на основний.
Механізм визначення резервного сервера¶
Механізмом резервного використання розрізняються окремі комп’ютери і служби. Спочатку модуль намагається визначити назву вузла вказаного комп’ютера. Якщо спроби визначення зазнають невдачі, комп’ютер вважатиметься від’єднаним від мережі. Подальших спроб встановити з’єднання з цим комп’ютером для всіх інших служб не виконуватиметься. Якщо вдасться виконати визначення, модуль зробити спробу встановити з’єднання зі службою на визначеному комп’ютері. Якщо спроба з’єднання зі службою не призведе до успіху, непрацездатною вважатиметься лише служба, модуль автоматично перемкнеться на наступну службу. Комп’ютер служби вважатиметься з’єднаним з мережею, можливі подальші спроби використання інших служб.
Подальші спроби встановлення з’єднання з комп’ютерами або службами, позначеними як такі, що перебувають поза мережею, буде виконано за певний проміжок часу. У поточній версії цей проміжок є незмінним і дорівнює 30 секундам.
Якщо список комп’ютерів буде вичерпано, основний модуль перейде у режим автономної роботи і повторюватиме спроби з’єднання кожні 30 секунд.
Час очікування на перемикання на резервний ресурс та точне налаштовування¶
Для визначення сервера для з'єднання достатньо одного запиту DNS або декількох кроків, зокрема визначення відповідного сайта або спроба використати декілька назв вузлів у випадку, якщо якісь із налаштованих серверів недоступні. Складніші сценарії можуть потребувати додаткового часу, а SSSD треба збалансувати надання достатнього часу для завершення процесу визначення і використання притомного часу на виконання цього запиту перед переходом до автономного режиму. Якщо діагностичний журнал SSSD показує, що під час визначення сервера перевищено час очікування на з'єднання із працездатним сервером, варто змінити значення параметрів часу очікування.
У цьому розділі наведено списки доступних для коригування параметрів. Будь ласка, ознайомтеся із їхніми описами за допомогою сторінки підручника sssd.conf(5).
dns_resolver_server_timeout
Типове значення: 1000
dns_resolver_op_timeout
Типове значення: 3
dns_resolver_timeout
Типове значення: 6
Для заснованих на LDAP постачальників даних дія з визначення виконується як частина дії зі встановлення з'єднання із LDAP. Тому слід також встановити для часу очікування “ldap_opt_timeout” значення, яке перевищуватиме значення “dns_resolver_timeout”, яке також має перевищувати значення “dns_resolver_op_timeout”, яке має перевищувати значення “dns_resolver_server_timeout”.
ПОШУК СЛУЖБ¶
За допомогою можливості виявлення служб основні модулі мають змогу автоматично визначати відповідні сервери для встановлення з’єднання на основі даних, отриманих у відповідь на спеціальний запит до DNS. Підтримки цієї можливості для резервних серверів не передбачено.
Налаштування¶
Якщо серверів не буде вказано, модуль автоматично використає визначення служб для пошуку сервера. Крім того, користувач може використовувати і фіксовані адреси серверів і виявлення служб. Для цього слід вставити особливе ключове слово, «_srv_», до списку серверів. Пріоритет визначається за вказаним порядком. Ця можливість є корисною, якщо, наприклад, користувач надає перевагу використанню виявлення служб, якщо це можливо, з поверненням до використання певного сервера, якщо за допомогою DNS не вдасться виявити жодного сервера.
Назва домену¶
З докладнішими відомостями щодо параметра «dns_discovery_domain» можна ознайомитися на сторінці підручника (man) sssd.conf(5).
Протокол¶
Запитами зазвичай визначається протокол _tcp. Виключення документовано у описі відповідного параметра.
Також прочитайте¶
Докладніші відомості щодо механізмів визначення служб можна знайти у RFC 2782.
ВСТАНОВЛЕННЯ ВІДПОВІДНОСТІ ІДЕНТИФІКАТОРІВ¶
Можливість встановлення відповідності ідентифікаторів надає SSSD змогу працювати у режимі клієнта Active Directory без потреби для адміністраторів розширювати атрибути користувача з метою підтримки атрибутів POSIX для ідентифікаторів користувачів та груп.
Зауваження: якщо увімкнено встановлення відповідності ідентифікаторів, атрибути uidNumber та gidNumber буде проігноровано. Так зроблено з метою уникання конфліктів між автоматично визначеними та визначеними вручну значеннями. Якщо вам потрібно призначити певні значення вручну, вручну доведеться призначати ВСІ значення.
Будь ласка, зауважте, що зміна параметрів налаштувань, пов’язаних із встановленням відповідності ідентифікаторів, призведе до зміни ідентифікаторів користувачів і груп. У поточній версії SSSD зміни ідентифікаторів не передбачено, отже, вам доведеться вилучити базу даних SSSD. Оскільки кешовані паролі також зберігаються у базі даних, вилучення бази даних слід виконувати, лише якщо сервери розпізнавання є доступними, інакше користувачі не зможуть отримати потрібного їм доступу. З метою кешування паролів слід виконати сеанс розпізнавання. Для вилучення бази даних недостатньо використання команди sss_cache(8), процедура має складатися з декількох кроків:
Крім того, оскільки зміна ідентифікаторів може потребувати коригування інших властивостей системи, зокрема прав власності на файли і каталоги, варто спланувати усе наперед і ретельно перевірити налаштування встановлення відповідності ідентифікаторів.
Алгоритм встановлення відповідності¶
Active Directory надає значення objectSID для всіх об’єктів користувачів і груп у каталозі. Таке значення objectSID можна розбити на компоненти, які відповідають профілю домену Active Directory та відносному ідентифікатору (RID) об’єкта користувача або групи.
Алгоритмом встановлення відповідності ідентифікаторів SSSD передбачено поділ діапазону доступних UID на розділи однакових розмірів, які називаються «зрізами». Кожен зріз відповідає простору, доступному певному домену Active Directory.
Коли SSSD вперше зустрічає запис користувача або групи певного домену, SSSD віддає один з доступних зрізів під цей домен. З метою уможливлення відтворення такого призначення зрізів на різних клієнтських системах, зріз вибирається за таким алгоритмом:
Рядок SID передається алгоритмові murmurhash3 з метою перетворення його на хешоване 32-бітове значення. Для вибору зрізу використовується ціла частина від ділення цього значення на загальну кількість доступних зрізів.
Зауваження: за такого алгоритму можливі збіги за хешем та відповідною цілою частиною від ділення. У разі виявлення таких збігів буде вибрано наступний доступних зріз, але це може призвести до неможливості відтворити точно такий самий набір зрізів на інших комп’ютерах (оскільки в такому разі на вибір зрізів може вплинути порядок, у якому виконується обробка даних). Якщо ви зіткнулися з подібною ситуацією, рекомендуємо вам або перейти на використання явних атрибутів POSIX у Active Directory (вимкнути встановлення відповідності ідентифікаторів) або налаштувати типовий домен з метою гарантування того, що принаймні цей домен матиме еталонні дані. Докладніше про це у розділі «Налаштування».
Налаштування¶
Мінімальне налаштовування (у розділі “[domain/НАЗВА_ДОМЕНУ]”):
ldap_id_mapping = True ldap_schema = ad
За типових налаштувань буде створено 10000 зрізів, кожен з яких може містити до 200000 ідентифікаторів, починаючи з 2000000 і аж до 2000200000. Цього має вистачити для більшості розгорнутих середовищ.
Додаткові
налаштування
ldap_idmap_range_min (ціле число)
Зауваження: цей параметр відрізняється від “min_id” тим, що “min_id” працює як фільтр відповідей на запити щодо цього домену, а цей параметр керує діапазоном призначення ідентифікаторів. Ця відмінність є мінімальною, але загалом варто визначати “min_id” меншим або рівним “ldap_idmap_range_min”
Типове значення: 200000
ldap_idmap_range_max (ціле число)
Зауваження: цей параметр відрізняється від “max_id” тим, що “max_id” працює як фільтр відповідей на запити щодо цього домену, а цей параметр керує діапазоном призначення ідентифікаторів. Ця відмінність є мінімальною, але загалом варто визначати “max_id” більшим або рівним “ldap_idmap_range_max”
Типове значення: 2000200000
ldap_idmap_range_size (ціле число)
ЗАУВАЖЕННЯ: значення цього параметра має бути не меншим за значення максимального запланованого до використання RID на сервері Active Directory. Пошук даних та вхід для будь-яких користувачів з RID, що перевищує це значення, буде неможливим.
Приклад: якщо найсвіжішим доданим користувачем Active Directory є користувач з objectSid=S-1-5-21-2153326666-2176343378-3404031434-1107, «ldap_idmap_range_size» повинне мати значення, яке є не меншим за 1108, оскільки розмір діапазону дорівнює максимальному SID мінус мінімальний SID плюс 1. (Наприклад, 1108 = 1107 - 0 + 1).
Для майбутнього можливого розширення важливо все спланувати наперед, оскільки зміна цього значення призведе до зміни усіх прив’язок ідентифікаторів у системі, отже зміни попередніх локальних ідентифікаторів користувачів.
Типове значення: 200000
ldap_idmap_default_domain_sid (рядок)
Типове значення: not set
ldap_idmap_default_domain (рядок)
Типове значення: not set
ldap_idmap_autorid_compat (булеве значення)
When this option is configured, domains will be allocated starting with slice zero and increasing monotonically with each additional domain.
Зауваження: цей алгоритм є недетерміністичним (залежить від порядку записів користувачів та груп). Якщо з метою сумісності з системою, у якій запущено winbind, буде використано цей алгоритм, варто також скористатися параметром “ldap_idmap_default_domain_sid” з метою гарантування послідовного призначення принаймні одного домену до нульового зрізу.
Типове значення: False
ldap_idmap_helper_table_size (ціле число)
Зауваження: під час прив'язування SID до ідентифікатора UNIX може бути створено додаткові вторинні зрізи, якщо частини RID SID перебувають поза межами діапазону вже створених вторинних зрізів. Якщо значенням ldap_idmap_helper_table_size буде 0, додаткові вторинні зрізи не створюватимуться.
Типове значення: 10
Добре відомі SID¶
У SSSD передбачено підтримку пошуку назв за добре відомими (Well-Known) SID, тобто SID із особливим запрограмованим призначенням. Оскільки типові користувачі і групи, пов’язані із цими добре відомими SID не мають еквівалентів у середовищі Linux/UNIX, ідентифікаторів POSIX для цих об’єктів немає.
Простір назв SID упорядковано службами сертифікації, які виглядають як інші домени. Службами сертифікації для добре відомих (Well-Known) SID є
Написані літерами верхнього регістру ці назви буде використано як назви доменів для повернення повних назв добре відомих (Well-Known) SID.
Оскільки деякі з програм надають змогу змінювати дані щодо керування доступом на основі SID за допомогою назви, а не безпосереднього використання, у SSSD передбачено підтримку пошуку SID за назвою. Щоб уникнути конфліктів, для пошуку добре відомих (Well-Known) SID приймаються лише повні назви. Отже, не можна використовувати як назви доменів у sssd.conf такі назви: «NULL AUTHORITY», «WORLD AUTHORITY», «LOCAL AUTHORITY», «CREATOR AUTHORITY», «MANDATORY LABEL AUTHORITY», «AUTHENTICATION AUTHORITY», «NT AUTHORITY» та «BUILTIN».
ПРИКЛАД¶
У наведеному нижче прикладі припускається, що SSSD налаштовано належним чином, а LDAP встановлено на один з доменів з розділу [domains].
[domain/LDAP] id_provider = ldap auth_provider = ldap ldap_uri = ldap://ldap.mydomain.org ldap_search_base = dc=mydomain,dc=org ldap_tls_reqcert = demand cache_credentials = true
ПРИКЛАД ФІЛЬТРА ДОСТУПУ LDAP¶
У наведеному нижче прикладі припускається, що SSSD налаштовано належним чином і використано ldap_access_order=lockout.
[domain/LDAP] id_provider = ldap auth_provider = ldap access_provider = ldap ldap_access_order = lockout ldap_pwdlockout_dn = cn=ppolicy,ou=policies,dc=mydomain,dc=org ldap_uri = ldap://ldap.mydomain.org ldap_search_base = dc=mydomain,dc=org ldap_tls_reqcert = demand cache_credentials = true
ЗАУВАЖЕННЯ¶
Описи деяких з параметрів налаштування на цій сторінці підручника засновано на даних сторінки підручника (man) ldap.conf(5) з пакунка OpenLDAP 2.4.
ТАКОЖ ПЕРЕГЛЯНЬТЕ¶
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-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(8), sss_ssh_knownhostsproxy(8), sssd-ifp(5), pam_sss(8). sss_rpcidmapd(5)
AUTHORS¶
Основна гілка розробки SSSD — https://pagure.io/SSSD/sssd/
10/01/2024 | SSSD |