Справка по SSSD
sssd-kcm
8
Форматы файлов и рекомендации
sssd-kcm
Диспетчер кэшей Kerberos SSSD
ОПИСАНИЕ
На этой справочной странице представлено описание настройки диспетчера кэшей
Kerberos SSSD (Kerberos Cache Manager или KCM). KCM — это процесс, который
хранит кэши учётных данных Kerberos, отслеживает эти кэши и управляет
ими. Он был создан на основе проекта Heimdal Kerberos, хотя библиотека MIT
Kerberos также предоставляет поддержку со стороны клиента (подробнее об этом
далее) для кэша учётных данных KCM.
В конфигурации, где кэшами Kerberos управляет KCM, библиотека Kerberos
(обычно используемая через приложение, например
kinit1
) является клиентом KCM
, а внутренняя служба
KCM называется сервером KCM
. Клиент и сервер обмениваются
данными с помощью сокета UNIX.
Сервер KCM следит за всеми владельцами кэшей учётных данных и осуществляет
управление проверками прав доступа на основе UID и GID клиента
KCM. Пользователь root имеет доступ ко всем кэшам учётных данных.
Кэш учётных данных KCM обладает несколькими интересными свойствами:
так как процесс выполняется в пространстве пользователей, он подлежит
ограничениям по пространству имён UID, в отличие от набора ключей ядра
в отличие от кэша на основе набора ключей ядра, который является общим для
всех контейнеров, сервер KCM представляет собой отдельный процесс, точкой
входа которого является сокет UNIX
реализация SSSD сохраняет данные ccache в базе данных (обычно она находится
по адресу /var/lib/sss/secrets), что позволяет не
терять эти данные при перезапусках сервера KCM или перезагрузках компьютера.
Это позволяет системе использовать кэш учётных данных с учётом сбора,
одновременно делая кэш учётных данных общим для нескольких контейнеров (или
для никаких контейнеров вообще) путём привязки-монтирования сокета.
Тайм-аут простоя клиента KCM по умолчанию составляет 5 минут, что
предоставляет больше времени на взаимодействие пользователя с инструментами
командной строки, например kinit.
ИСПОЛЬЗОВАНИЕ КЭША УЧЁТНЫХ ДАННЫХ KCM
Чтобы использовать кэш учётных данных KCM, необходимо выбрать его в качестве
стандартного типа учётных данных в
krb5.conf5
. Именем кэша учётных данных может быть только
KCM:
, без каких-либо расширений шаблонов. Например:
[libdefaults]
default_ccache_name = KCM:
Далее следует указать одинаковый путь к сокету UNIX для клиентских библиотек
Kerberos и сервера KCM. По умолчанию и для библиотек, и для сервера
используется путь
/var/run/.heim_org.h5l.kcm-socket. Чтобы
настроить библиотеку Kerberos, измените её параметр
kcm_socket
, описание которого приводится на справочной
странице
krb5.conf5
.
И наконец, следует убедиться, что с сервером KCM SSSD можно
связаться. Служба KCM обычно активируется
systemd 1
с помощью сокета. В отличие от других служб SSSD, её нельзя
запустить, добавив строку kcm
к инструкции
service
.
systemctl start sssd-kcm.socket
systemctl enable sssd-kcm.socket
Обратите
внимание, что в дистрибутиве уже может быть выполнена соответствующая
настройка модулей.
ХРАНИЛИЩЕ КЭША УЧЁТНЫХ ДАННЫХ
Кэши учётных данных хранятся в базе данных, что очень похоже на хранение
кэшей записей пользователей и групп SSSD. Обычно эта база данных находится
по адресу /var/lib/sss/secrets
.
ПОЛУЧЕНИЕ ЖУРНАЛА ОТЛАДКИ
Служба sssd-kcm обычно активируется на сокете
systemd 1
. Для генерации журнала отладки добавьте следующее либо
непосредственно в файл /etc/sssd/sssd.conf, либо как
фрагмент конфигурации в каталог /etc/sssd/conf.d/:
[kcm]
debug_level = 10
Затем перезапустите службу
sssd-kcm:
systemctl restart sssd-kcm.service
И выполните те
действия, которые не приводят к желаемым результатам. Журнал KCM будет
записан в /var/log/sssd/sssd_kcm.log. Когда в работе
службы отладки больше не будет необходимости, рекомендуется отключить журнал
отладки, так как служба sssd-kcm может генерировать довольно большое
количество данных отладки.
Обратите внимание, что в настоящее время фрагменты конфигурации
обрабатываются только в том случае, если основной файл конфигурации по пути
/etc/sssd/sssd.conf существует.
ОБНОВЛЕНИЯ
Службу sssd-kcm можно настроить на выполнение попыток обновления TGT для
обновляемых TGT, которые хранятся в ccache KCM. Попытка обновления
выполняется только в том случае, если прошла половина времени жизни
билета. Обновления KCM настраиваются при установке следующих параметров в
разделе [kcm]:
tgt_renewal = true
krb5_renew_interval = 60m
SSSD также может наследовать параметры krb5 для обновлений из существующего
домена.
tgt_renewal = true
tgt_renewal_inherit = domain-name
Для управления поведением обновлений в разделе [kcm] можно настроить
следующие параметры krb5 (подробное описание этих параметров приводится
далее)
krb5_renew_interval
krb5_renewable_lifetime
krb5_lifetime
krb5_validate
krb5_canonicalize
krb5_auth_timeout
ПАРАМЕТРЫ КОНФИГУРАЦИИ
Служба KCM настраивается в разделе kcm
файла
sssd.conf. Обратите внимание: так как служба KCM обычно активируется с
помощью сокета, достаточно просто перезапустить службу
sssd-kcm
после изменения параметров в разделе
kcm
sssd.conf:
systemctl restart sssd-kcm.service
Настройки службы KCM выполняются с помощью kcm
. Подробные
сведения о синтаксисе доступны в разделе ФОРМАТ ФАЙЛА
справочной страницы sssd.conf
5 .
Службе kcm можно передавать типовые параметры сервиса SSSD, такие как
debug_level
илиfd_limit
. Полный список
параметров доступен на справочной странице
sssd.conf 5
. Кроме того, предусмотрено несколько специфичных для KCM
параметров.
socket_path (строка)
Сокет, на котором будет ожидать передачи данных служба KCM.
По умолчанию: /var/run/.heim_org.h5l.kcm-socket
Примечание: на платформах, которые
поддерживают systemd, путь к сокету перезаписан путём, который определён в
файле модуля sssd-kcm.socket.
max_ccaches (целое число)
Сколько кэшей учётных данных может содержать база данных KCM для всех
пользователей.
По умолчанию: 0 (без ограничений, принудительно применяется только квота для
отдельного UID)
max_uid_ccaches (целое число)
Сколько кэшей учётных данных может содержать база данных KCM для одного
UID. Это эквивалентно количеству участников, инициализацию которых
можно выполнить с помощью kinit
.
По умолчанию: 64
max_ccache_size (целое число)
Максимальный размер кэша учётных данных для отдельного ccache. Эта квота
вычисляется сразу для всех билетов служб.
По умолчанию: 65536
tgt_renewal (логическое значение)
Включает функциональную возможность обновлений TGT.
По умолчанию: False (автоматические обновления отключены)
tgt_renewal_inherit (строка)
Домен, от которого наследуются параметры krb5_*, для использования при
обновлении TGT.
По умолчанию: NULL
СМ. ТАКЖЕ
sssd8
,
sssd.conf5
,