'\" t .\" Title: sssd-sudo .\" Author: Восходящий источник (\(Foапстрим\(Fc) SSSD \(em https://github.com/SSSD/sssd/ .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 08/26/2025 .\" Manual: Форматы файлов и рекомендации .\" Source: SSSD .\" Language: English .\" .TH "SSSD\-SUDO" "5" "08/26/2025" "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 в случае использования групп узлов)\&. .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] 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 в список служб, так как он стал необязательным\&. Однако вместо этого следует включить sssd\-sudo\&.socket\&. .PP Когда программа SSSD настроена на использование IPA в качестве поставщика ID, включение поставщика данных sudo выполняется автоматически\&. База поиска sudo настроена на использование собственного дерева LDAP IPA (cn=sudo,$SUFFIX)\&. Если в sssd\&.conf определена какая\-либо другая база поиска, будет использоваться это значение\&. Дерево совместимости (ou=sudoers,$SUFFIX) больше не является необходимым для работы sudo IPA\&. .SH "Механизм кэширования правил SUDO" .PP При разработке поддержки sudo в SSSD сложнее всего было сделать так, чтобы работа sudo c SSSD в качестве источника данных обеспечивала такие же скорость и взаимодействие с пользователем, что и sudo, при этом предоставляя настолько актуальный набор правил, насколько это возможно\&. Для этого в SSSD используются три вида обновлений: полное обновление, интеллектуальное обновление и обновление правил\&. .PP \fIИнтеллектуальное обновление\fR периодически загружает правила, которые являются новыми или были изменены после последнего обновления\&. Основная задача \(em увеличивать базу данных путём получения небольших порций данных, что не создаёт большой сетевой трафик\&. .PP \fIПолное обновление\fR просто удаляет все правила sudo, которые хранятся в кэше, и заменяет их всеми правилами, которые хранятся на сервере\&. Это позволяет поддерживать согласованность кэша: удаляются все те правила, которые были удалены с сервера\&. Однако полное обновление может генерировать большое количества трафика, поэтому его следует выполнять только иногда (промежуток между обновлениями зависит от размера и стабильности правил sudo)\&. .PP \fIОбновление правил\fR обеспечивает, что пользователю не будет предоставлено больше прав, чем определено\&. Это обновление выполняется при каждом запуске sudo пользователем\&. Обновление правил находит все правила, которые применяются к этому пользователю, проверяет срок их действия и повторно загружает их, если этот срок истёк\&. Если на сервере отсутствуют какие\-либо из таких правил, SSSD выполнит общее полное обновление, так как могло быть удалено гораздо больше правил (применяемых к другим пользователям)\&. .PP Если этот параметр включён, SSSD будет сохранять только правила, которые могут быть применены к этому компьютеру\&. Это те правила, которые содержат в атрибуте \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+netgroup\(Fc) .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 .\} один из IP\-адресов компьютера .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} один из IP\-адресов сети (в виде \(Foaddress/mask\(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-idp\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(1), \fBsss_ssh_knownhosts\fR(1), \fBsssd-ifp\fR(5), \fBpam_sss\fR(8)\&. \fBsss_rpcidmapd\fR(5) .SH "AUTHORS" .PP \fBВосходящий источник (\(Foапстрим\(Fc) SSSD \(em https://github\&.com/SSSD/sssd/\fR