sssd и кэш аутентификации LDAP

Одно решение имело бы способное устройство WOL в сети, например, маршрутизатор DD-WRT, который мог использоваться для пробуждения ПК. Unfortunantly WOL не работает по маршрутизаторам.

8
задан 10 May 2013 в 01:21
6 ответов

Заметьте, что наличие cache_credentials = Верный в Fedora 30/31 дает ошибку, которая делает невозможным войти в пользователей LDAP использования. Я не нашел зарегистрированную ошибку связанной с этим так, я пишу это здесь.

0
ответ дан 2 December 2019 в 23:00

Вы можете попытаться отключить кеширование учетных данных, добавив директиву в /etc/sssd/sssd.conf:

[domain/default]
cache_credentials = False

. Затем вы можете проверить, что sssd использует кеш для учетных данных с помощью консольной команды:

# authconfig --test|grep credential
credential caching in SSSD is disabled
1
ответ дан 2 December 2019 в 23:00
  • Вы не можете отключить кэширование полностью с помощью sssd.

  • Вы можете полностью отключить sss как провайдера аутентификации и просто запросить LDAP напрямую, если хотите.

Например, в /etc/nsswitch. conf, измените строки типа:

passwd:     files sss

-

passwd:     files ldap
  • Вы можете принудительно очистить кэш, удалив /var/lib/sss/db/*
1
ответ дан 2 December 2019 в 23:00

На странице руководства (sssd.conf):

NSS configuration options
       These options can be used to configure the Name Service Switch (NSS)
       service.

       enum_cache_timeout (integer)
           How many seconds should nss_sss cache enumerations (requests for
           info about all users)
       Default: 120

Я бы вставил что-то вроде:

[nss]
enum_cache_timeout 10

(отрегулируйте секунды по своему усмотрению)

5
ответ дан 2 December 2019 в 23:00

Аналогичные проблемы исчезли

Я заметил, что getent passwd | grep <имя пользователя> и getent passwd не вернет те же результаты,

Используя strace, я обнаружил, что getent passwd проверяет данные в "/ var / lib / sss / mc / passwd "

wheras getent passwd | grep подключится к / var / lib / sss / pipe / nss и будет получать данные оттуда.

Это меня действительно сбивает с толку, поскольку оба подхода, похоже, поражают разные кеши . Кажется, что эти кеши обновляются, когда я запускаю sudo su - , но в остальном кажется, что они действительны в течение нескольких часов.

На практике получается, например, что Доступ по ssh не будет работать для пользователя через несколько минут после его удаления из ldap, но getent passwd будет продолжать показывать его часами, поэтому мне сложно проверить, действительно ли этот пользователь удален или нет (без очистки некоторые кеши все время вручную)

1
ответ дан 2 December 2019 в 23:00

Попробуйте sss_cache -E

или попробуйте остановить sssd, удалить файлы в / var / lib / sss / db / * и перезапустить sssd

1
ответ дан 2 December 2019 в 23:00

Теги

Похожие вопросы