Сторінки підручника SSSD
sssd-kcm
8
Формати файлів та правила
sssd-kcm
Керування кешем Kerberos SSSD
ОПИС
На цій сторінці підручника описано налаштування засобу керування кешем
Kerberos SSSD (Kerberos Cache Manager або KCM). KCM є процесом, який
зберігає, стежить і керує кешем реєстраційних даних Kerberos. Ідея створення
засобу походить із проєкту Heimdal Kerberos, хоча у бібліотеці Kerberos MIT
також надається підтримка з боку клієнта для кешу реєстраційних даних KCM
(докладніше про це нижче).
У конфігураціях, де кешем Kerberos керує KCM, бібліотека Kerberos (типово
використовується за допомогою якоїсь програми, наприклад
kinit1
) є клієнтом KCM
, а фонова служба KCM
вважається сервером KCM
. Клієнт і сервер обмінюються даними
за допомогою сокета UNIX.
Сервер KCM стежити за кожним власником кешу реєстраційних даних і виконує
перевірку прав доступу на основі UID і GID клієнта KCM. Користувач root має
доступ до усіх кешів реєстраційних даних.
Кеш реєстраційних даних KCM має декілька цікавих властивостей:
оскільки процес виконується у просторі користувача, він підлягає обмеженням
за простором назв UID, на відміну від набору ключів ядра
на відміну від кешу на основі наборів ключів ядра, який є спільним для усіх
контейнерів, сервер KCM є окремим процесом, чия точка входу є сокетом UNIX
реалізація у SSSD зберігає дані ccache у базі даних, файл якої типово
називається /var/lib/sss/secrets. За допомогою
цього файла ccache зберігаються протягом періодів перезапуску сервера 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
Вказані нижче параметри krb5 можна налаштувати у розділі [kcm] для керування
поведінкою під час поновлення. Ці параметри докладно описано нижче
krb5_renew_interval
krb5_renewable_lifetime
krb5_lifetime
krb5_validate
krb5_canonicalize
krb5_auth_timeout
ПАРАМЕТРИ НАЛАШТУВАННЯ
Налаштовування служби KCM виконується за допомогою розділу
kcm
файла sssd.conf. Будь ласка, зауважте, що оскільки
активація служби KCM, зазвичай, відбувається за допомогою сокетів, після
внесення змін до розділу kcm
файла sssd.conf достатньо
перезапустити службу sssd-kcm
:
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
,