
我正在嘗試在 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 守護程序,但我想不出另一種方法來解決該問題。