'\" t
.\"     Title: sssd-sudo
.\"    Author: Основна гілка розробки SSSD \(em https://pagure.io/SSSD/sssd/
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\"      Date: 07/27/2026
.\"    Manual: Формати файлів та правила
.\"    Source: SSSD
.\"  Language: English
.\"
.TH "SSSD\-SUDO" "5" "07/27/2026" "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)
\fBsssd-systemtap\fR(5)
.SH "AUTHORS"
.PP
\fBОсновна гілка розробки SSSD \(em
https://pagure\&.io/SSSD/sssd/\fR
