僅對部分使用者使用 openldap 身份驗證

僅對部分使用者使用 openldap 身份驗證

我正在嘗試設定幾個 Linux 工作站 (RedHat 7),並且正在嘗試弄清楚如何針對具有一些不尋常要求的 LDAP 伺服器設定身份驗證。

我基本上知道如何使用 sssd 設定 LDAP 身份驗證,但我不知道如何將身份驗證限制為僅某些使用者以滿足我的要求。

要啟用 LDAP 配置,我將使用以下命令列:

authconfig --enableldap --enableldapauth --ldapserver="<redacted>" --ldapbasedn="<redacted>" --update --enablemkhomedir

這將允許所有 LDAP 用戶登錄,據我所知,效果很好。但是,我的要求是只有 LDAP 中的某些使用者可以登錄,並且使用者清單將在單獨的文字檔案中提供(按使用者登入名稱)。

更多資訊:我們有一個 LDAP 伺服器(實際上是 Active Directory),有數千個使用者。只允許大約 20 名需要在這些工作站上工作的人登入這些工作站。不幸的是,LDAP 不包含任何與此相關的信息,而且我無法控制 LDAP 伺服器。相反,每隔幾週,我就會收到一個文字文件,其中包含應允許登入的使用者名稱清單。

如何設定身份驗證以使用 LDAP 取得使用者名稱/密碼/使用者 ID 等,同時將其僅限於此清單中的使用者?

答案1

我找到了兩種方法來完成我所需要的。第一個是 thrig 概述的。我必須將每個使用者名稱單獨新增到 /etc/security/access.conf 中。

第二個選項是在 sssd.conf 中指定 LDAP 查詢字串:

ldap_access_filter = (|(userid=user1)(userid=user2).....)

第二種解決方案建置起來非常繁瑣,但最終在大型 LDAP 環境中具有重大效能優勢,因為 sssd 只會擷取一些 LDAP 記錄。

答案2

將這些使用者放入一個群組中,然後使用pam_access規則/etc/security/access.conf僅允許使用者位於該群組中的登入(以及root任何系統管理員和監控,如果需要的話),例如

+ : root wheel nagios : ALL
+ : yourusergrouphere : ALL
- : ALL : ALL

相關內容