SSSD-SUDO(5) | Форматы файлов и рекомендации | SSSD-SUDO(5) |
NAME¶
sssd-sudo - Настройка sudo с помощью внутреннего сервера SSSD
ОПИСАНИЕ¶
На этой справочной странице представлено описание настройки sudo(8) для работы с sssd(8), а также кэширования правил sudo в SSSD.
Настройка SUDO для совместной работы с SSSD¶
Чтобы включить SSSD как источник правил sudo, добавьте sss в запись sudoers в файле nsswitch.conf(5).
Например, чтобы настроить sudo на поиск правил сначала в стандартном файле sudoers(5) (который должен содержать правила, которые применяются к локальным пользователям), а потом в SSSD, следует добавить в файл nsswitch.conf следующую строку:
sudoers: files sss
Дополнительные сведения о настройке порядка поиска sudoers из файла nsswitch.conf, а также информация о схеме LDAP, используемой для сохранения правил sudo в каталоге, доступны на справочной странице sudoers.ldap(5).
Примечание: чтобы использовать в правилах sudo сетевые группы или группы узлов IPA, также потребуется корректно установить nisdomainname(1) в значение имени домена NIS (совпадает с именем домена IPA в случае использования групп узлов).
Настройка SSSD для получения правил SUDO¶
На стороне SSSD достаточно расширить список служб добавлением «sudo» в раздел [sssd] sssd.conf(5). Чтобы ускорить поиск LDAP, также можно указать базу поиска для правил sudo с помощью параметра ldap_sudo_search_base.
В следующем примере показано, как настроить SSSD на загрузку правил sudo с сервера LDAP.
[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
Важно учитывать, что на платформах, где поддерживается systemd, не требуется добавлять поставщика данных «sudo» в список служб, так как он стал необязательным. Однако вместо этого следует включить sssd-sudo.socket.
Когда программа SSSD настроена на использование IPA в качестве поставщика ID, включение поставщика данных sudo выполняется автоматически. База поиска sudo настроена на использование собственного дерева LDAP IPA (cn=sudo,$SUFFIX). Если в sssd.conf определена какая-либо другая база поиска, будет использоваться это значение. Дерево совместимости (ou=sudoers,$SUFFIX) больше не является необходимым для работы sudo IPA.
Механизм кэширования правил SUDO¶
При разработке поддержки sudo в SSSD сложнее всего было сделать так, чтобы работа sudo c SSSD в качестве источника данных обеспечивала такие же скорость и взаимодействие с пользователем, что и sudo, при этом предоставляя настолько актуальный набор правил, насколько это возможно. Для этого в SSSD используются три вида обновлений: полное обновление, интеллектуальное обновление и обновление правил.
Интеллектуальное обновление периодически загружает правила, которые являются новыми или были изменены после последнего обновления. Основная задача — увеличивать базу данных путём получения небольших порций данных, что не создаёт большой сетевой трафик.
Полное обновление просто удаляет все правила sudo, которые хранятся в кэше, и заменяет их всеми правилами, которые хранятся на сервере. Это позволяет поддерживать согласованность кэша: удаляются все те правила, которые были удалены с сервера. Однако полное обновление может генерировать большое количества трафика, поэтому его следует выполнять только иногда (промежуток между обновлениями зависит от размера и стабильности правил sudo).
Обновление правил обеспечивает, что пользователю не будет предоставлено больше прав, чем определено. Это обновление выполняется при каждом запуске sudo пользователем. Обновление правил находит все правила, которые применяются к этому пользователю, проверяет срок их действия и повторно загружает их, если этот срок истёк. Если на сервере отсутствуют какие-либо из таких правил, SSSD выполнит общее полное обновление, так как могло быть удалено гораздо больше правил (применяемых к другим пользователям).
Если этот параметр включён, SSSD будет сохранять только правила, которые могут быть применены к этому компьютеру. Это те правила, которые содержат в атрибуте sudoHost одно из следующих значений:
Предусмотрено много параметров, которыми можно воспользоваться для настройки поведения программы. Подробное описание доступно в разделах «ldap_sudo_*» sssd-ldap(5) и «sudo_*» sssd.conf(5).
Тонкая настройка производительности¶
SSSD использует различные типы механизмов со сложными и простыми фильтрами LDAP для поддержания кэшированных правил sudo в актуальном состоянии. В стандартной конфигурации заданы значения, которые должны подойти большинству пользователей. Тем не менее, в последующих абзацах приводится несколько советов по тонкой настройке конфигурации.
1. Индексируйте атрибуты LDAP. Убедитесь, что выполняется индексирование следующих атрибутов LDAP: objectClass, cn, entryUSN и modifyTimestamp.
2. Задайте ldap_sudo_search_base. Укажите в качестве базы поиска контейнер, который содержит правила sudo, чтобы ограничить область поиска.
3. Задайте интервал полного и интеллектуального обновления. Если правила sudo меняются редко и не требуется быстро обновлять кэшированные правила на клиентах, можно увеличить значения ldap_sudo_full_refresh_interval и ldap_sudo_smart_refresh_interval. Также можно отключить интеллектуальное обновление: ldap_sudo_smart_refresh_interval = 0.
4. Если имеется большое количество клиентов, можно увеличить значение ldap_sudo_random_offset для лучшего распределения нагрузки на сервер.
СМ. ТАКЖЕ¶
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://github.com/SSSD/sssd/
10/01/2024 | SSSD |