我正在尝试在 CentOS 7 上使用 SSSD 设置 LDAP 身份验证。
是否可以以使用两个 LDAP 服务器的方式设置 SSSD:一个 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 守护进程,但是我想不出其他解决问题的方法。