
我在一台全新的伺服器上安裝了 CentOS 7。我的所有伺服器都透過 LDAPS 在各種系統(如 RHEL5、Debian 和 Solaris)上獲得最終用戶身份驗證。我注意到 CentOS 7 上有一個新層,它是 NSS 和 PAM 之上的 SSS。無論如何,我嘗試複製與其他伺服器相同類型的連接。
該命令ldapsearch -x
在 LDAP 中綁定,但不在 LDAPS 中綁定。
在挖掘問題時,我嘗試在 LDAP 中進行連接,擠壓 SSS 層,將這些行放入我的/etc/nsswitch.conf
passwd: files ldap #sss
shadow: files ldap #sss
group: files ldap #sss
我在中加入了這一行/etc/sssd/sssd.conf
cache_credentials = False
我重新啟動了SSD。
systemctl restart sssd
我檢查了命令authconfig --test
,一切似乎都正常:(http://www.heypasteit.com/clip/1LZ2)
答案1
我不確定這是否是正確的解決方案,但在SSSD常見問題解答這點:
我什麼時候應該在 SSSD 中啟用枚舉?或為什麼預設會停用枚舉?
「枚舉」是 SSSD 的術語,意思是「讀入並顯示特定映射(使用者、群組等)的所有值」。我們在 SSSD 中預設禁用此功能,以便最大限度地減少 SSSD 必須與之通訊的伺服器上的負載。在大多數操作中,永遠不需要列出完整的使用者或群組集。應用程式通常會請求有關特定使用者或群組的資訊。
枚舉所有條目會對伺服器上的負載和用戶端上的效能產生負面影響(因為我們必須將使用者及其所屬群組之間的所有複雜關係保存在本地快取中)。因此,我們在發佈時禁用了枚舉(與 Samba 專案的 winbind 的行為相同)。
只有當您的環境中有絕對必須能夠檢索完整清單的應用程式或腳本時,才應啟用枚舉(以及由此產生的效能問題)。在這些情況下,可以透過設定來啟用枚舉
[domain/<domainname>] enumerate = true ...
在您的 sssd.conf 檔案中。
這使得能夠getent passwd
顯示透過 SSSD 可用的所有帳戶。請注意,這可能會拖累性能。