Аутентификация SSSD LDAP с использованием двух разных серверов LDAP

Аутентификация SSSD LDAP с использованием двух разных серверов LDAP

Я пытаюсь настроить аутентификацию LDAP с помощью SSSD на CentOS 7.

Можно ли настроить SSSD таким образом, чтобы он использовал два сервера LDAP: один сервер LDAP использовался только для аутентификации (по сути, просто для аутентификации с помощью пароля), а другой сервер LDAP использовался для идентификации и получения всех атрибутов пользователя (homeDirectory, дополнительные атрибуты LDAP, определенные только на этом сервере LDAP)?

Пользователи определены на обоих серверах (одинаковый uid, но разная база)

решение1

В долгосрочной перспективе вам было бы лучше найти способ объединить ваши базы.
Однако,SASL Pass-Through Authenticationможет быть вариантом для вас. Если вы уже не используете его для передачи вашей основной аутентификации чему-то вроде Kerberos, в этом случае вам лучше всего будет реплицировать запись, userPasswordпоскольку она, скорее всего, останется статичной, это должно позволить вам использовать другую базу для аутентификации.

решение2

Нет, я не думаю, что это возможно, кроме как с помощью уродливого хака. Единственный особый случай, который поддерживает sssd, это другой сервер LDAP для операций по смене пароля (с ldap_chpass_uri).

Но что вы могли бы сделать, так это использовать id_provider=proxy, настроить его на использование nslcd (он же nss-pam-ldapd) и настроить nslcd на использование сервера идентификации LDAP. Затем настроить auth_provider=ldapи указать его на сервер аутентификации LDAP.

Это некрасиво, и вам пришлось бы запустить два демона LDAP, но я не могу придумать другого способа решения этой проблемы.

Связанный контент