'\" t .\" Title: sssd-sudo .\" Author: Основна гілка розробки SSSD \(em https://pagure.io/SSSD/sssd/ .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 04/09/2024 .\" Manual: Формати файлів та правила .\" Source: SSSD .\" Language: English .\" .TH "SSSD\-SUDO" "5" "04/09/2024" "SSSD" "Формати файлів та правила" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" sssd-sudo \- Налаштовування sudo за допомогою модуля SSSD .SH "ОПИС" .PP На цій сторінці підручника описано способи налаштовування \fBsudo\fR(8) на роботу у комплексі з \fBsssd\fR(8) та способи кешування правил sudo у SSSD\&. .SH "Налаштовування SUDO на співпрацю з SSSD" .PP Щоб увімкнути SSSD як джерело правил sudo, додайте \fIsss\fR до запису \fIsudoers\fR у файлі \fBnsswitch.conf\fR(5)\&. .PP Наприклад, щоб налаштувати sudo на першочерговий пошук правил у стандартному файлі \fBsudoers\fR(5) (цей файл має містити правила, що стосуються локальних користувачів), а потім у SSSD, у файлі nsswitch\&.conf слід вказати такий рядок: .PP .if n \{\ .RS 4 .\} .nf sudoers: files sss .fi .if n \{\ .RE .\} .PP Докладніші дані щодо налаштовування порядку пошуку у sudoers за допомогою файла nsswitch\&.conf, а також дані щодо бази даних LDAP, у якій зберігаються правила sudo каталогу, можна знайти на сторінці підручника \fBsudoers.ldap\fR(5)\&. .PP \fIЗауваження\fR: щоб у правилах sudo можна було використовувати мережеві групи або групи вузлів IPA, вам слід належним чином налаштувати \fBnisdomainname\fR(1) на назву домену NIS (назва цього домену збігається з назвою домену IPA, якщо використовуються групи вузлів IPA)\&. .SH "Налаштовування SSSD на отримання правил SUDO" .PP На боці SSSD достатньо розширити список \fIслужб\fR дописуванням \(Fosudo\(Fc до розділу [sssd] \fBsssd.conf\fR(5)\&. Щоб пришвидшити пошуку у LDAP, ви також можете налаштувати базу пошуку для правил sudo за допомогою параметра \fIldap_sudo_search_base\fR\&. .PP У наведеному нижче прикладі показано, як налаштувати SSSD на отримання правил sudo з сервера LDAP\&. .PP .if n \{\ .RS 4 .\} .nf [sssd] config_file_version = 2 services = nss, pam, sudo domains = EXAMPLE [domain/EXAMPLE] id_provider = ldap sudo_provider = ldap ldap_uri = ldap://example\&.com ldap_sudo_search_base = ou=sudoers,dc=example,dc=com .fi .if n \{\ .RE .\} .sp Важливо зауважити, що на платформах, де передбачено підтримку systemd, немає потреби додавати засіб надання даних \(Fosudo\(Fc до списку служб, оскільки він стає необов\*(Aqязковим\&. Втім, замість нього слід увімкнути sssd\-sudo\&.socket\&. .PP Якщо SSSD налаштовано на використання IPA як засобу надання даних ID, засіб надання даних sudo буде увімкнено автоматично\&. Базу пошуку sudo буде налаштовано на використання природного для IPA дерева LDAP (cn=sudo,$SUFFIX)\&. Якщо у sssd\&.conf буде визначено будь\-яку іншу базу пошуку, використовуватиметься це значення\&. Для використання функціональних можливостей sudo у IPA потреби у дереві compat (ou=sudoers,$SUFFIX) більше немає\&. .SH "Механізм кешування правил SUDO" .PP Найбільшою складністю під час розробки підтримки sudo у SSSD було забезпечення роботи sudo з SSSD так, щоб для користувача джерело даних надавало дані у один спосіб та з тією самою швидкістю, що і sudo, надаючи при цьому якомога свіжіший набір правил\&. Щоб виконати ці умови, SSSD використовує оновлення трьох типів\&. Будемо називати ці тип повним оновленням, інтелектуальним оновленням та оновленням правил\&. .PP Використання типу \fIінтелектуального оновлення\fR полягає у отриманні правил, які було додано або змінено з часу попереднього оновлення\&. Основним призначенням оновлення такого типу є підтримання актуального стану бази даних невеличкими порціями, які не спричиняють значного навантаження на мережу\&. .PP У разі використання \fIповного оновлення\fR всі правила sudo, що зберігаються у кеші, буде вилучено і замінено на всі правила, які зберігаються на сервері\&. Таким чином, кеш буде узгоджено шляхом вилучення всіх правил, які було вилучено на сервері\&. Втім, повне оновлення може значно навантажувати канал з\(cqєднання, а отже його варто використовувати лише іноді\&. Проміжок між сеансами повного оновлення має залежати від розміру і стабільності правил sudo\&. .PP У разі використання типу \fIоновлення правил\fR забезпечується ненадання користувачам ширших дозволів, ніж це було визначено на сервері\&. Оновлення цього типу виконується під час кожного запуску користувачем sudo\&. Під час оновлення буде виявлено всі правила, які стосуються користувача, перевірено, чи не завершено строк дії цих правил, і повторно отримано правила, якщо строк дії правил завершено\&. Якщо якихось з правил не буде виявлено на сервері, SSSD виконає позачергове повне оновлення, оскільки може виявитися, що було вилучено набагато більше правил (які стосуються інших користувачів)\&. .PP Якщо увімкнено, SSSD зберігатиме лише правила, які можна застосувати до цього комп\(cqютера\&. Це означає, що зберігатимуться правила, що містять у атрибуті \fIsudoHost\fR одне з таких значень: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} ключове слово ALL .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} шаблон\ \&заміни .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} мережеву групу (у форматі \(Fo+мережева група\(Fc) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} назву вузла або повну назву у домені цього комп\(cqютера .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} одну з IP\-адрес цього комп\(cqютера .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} одну з IP\-адрес мережі (у форматі \(Foадреса/маска\(Fc) .RE .PP Для точного налаштовування поведінки передбачено доволі багато параметрів Будь ласка, зверніться до розділу \(Foldap_sudo_*\(Fc у \fBsssd-ldap\fR(5) та \(Fosudo_*\(Fc у \fBsssd.conf\fR(5), щоб ознайомитися з докладним описом\&. .SH "Коригування швидкодії" .PP SSSD використовує різні типи механізмів із складнішими або простішими фільтрами LDAP для підтримання актуальності кешованих правил sudo\&. У типових налаштуваннях використано значення, які мають задовольнити потреби більшості наших користувачів, але у наступних абзацах міститься декілька підказок щодо того, як скоригувати налаштування до ваших потреб\&. .PP 1\&. \fIІндексуйте атрибути LDAP\fR\&. Переконайтеся, що індексуються такі атрибути LDAP: objectClass, cn, entryUSN та modifyTimestamp\&. .PP 2\&. \fIВстановіть ldap_sudo_search_base\fR\&. Встановіть основу для пошуку так, щоб вона вказувала на контейнер, який містить правила sudo для обмеження області пошуку\&. .PP 3\&. \fIВстановіть інтервал повного і кмітливого оновлення\fR\&. Якщо ваші правила sudo змінюються нечасто, і вам не потрібне швидке оновлення кешованих правил на ваших клієнтах, ви можете збільшити значення \fIldap_sudo_full_refresh_interval\fR і \fIldap_sudo_smart_refresh_interval\fR\&. Крім того, варто вимкнути кмітливе оновлення встановленням \fIldap_sudo_smart_refresh_interval = 0\fR\&. .PP 4\&. Якщо у вас багато клієнтів, вам варто збільшити значення \fIldap_sudo_random_offset\fR, щоб краще розподілити навантаження на сервер\&. .SH "ТАКОЖ ПЕРЕГЛЯНЬТЕ" .PP \fBsssd\fR(8), \fBsssd.conf\fR(5), \fBsssd-ldap\fR(5), \fBsssd-ldap-attributes\fR(5), \fBsssd-krb5\fR(5), \fBsssd-simple\fR(5), \fBsssd-ipa\fR(5), \fBsssd-ad\fR(5), \fBsssd-files\fR(5), \fBsssd-sudo\fR(5), \fBsssd-session-recording\fR(5), \fBsss_cache\fR(8), \fBsss_debuglevel\fR(8), \fBsss_obfuscate\fR(8), \fBsss_seed\fR(8), \fBsssd_krb5_locator_plugin\fR(8), \fBsss_ssh_authorizedkeys\fR(8), \fBsss_ssh_knownhostsproxy\fR(8), \fBsssd-ifp\fR(5), \fBpam_sss\fR(8)\&. \fBsss_rpcidmapd\fR(5) .SH "AUTHORS" .PP \fBОсновна гілка розробки SSSD \(em https://pagure\&.io/SSSD/sssd/\fR