
Я пытаюсь настроить аутентификацию 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, но я не могу придумать другого способа решения этой проблемы.