Redhat
RHEL 5.8 LDAP pam_groupdn 自定義
我有一個給定的 LDAP 伺服器,我想在我的 Red Hat Enterprise Linux 5.8 伺服器上用於使用者身份驗證。我得到了與 LDAP 伺服器的連接,並且我能夠通過 LDAP 使用者“使用者名”登錄到 Linux 伺服器。
現在我希望只有一個 LDAP 組中的使用者才能登錄到我的 RHEL 伺服器。我試圖通過在中配置以下內容來做到這一點
/etc/ldap.conf
:pam_groupdn cn=RW,ou=ApplRoles,ou=App,ou=Applications,dc=sbb,dc=CH pam_member_attribute AppRoles
當我在配置後嘗試登錄時,我收到以下消息:
“您必須是 cn=RW,ou=ApplRoles,ou=App,ou=Applications,dc=sbb,dc=CH 的 AppRoles。
但是當我瀏覽 LDAP 伺服器時,我看到使用者是這個組的一部分:
# ldapsearch -h ldapi.company.ch -D cn=binduser,ou=Administrators,dc=company,dc=CH -w bindpw -b dc=company,dc=ch -x "(cn=username)" AppRoles companyAppRoles: cn=RW,ou=ApplRoles,ou=App,ou=Applications,dc=company,dc=CH
Wireshark 中的請求和回答如下所示(由 Linux 伺服器上的 tcpdump 轉儲):
請求(來自 Wireshark 轉儲):
LDAPMessage compareRequest(5) "cn=RW,ou=ApplRoles,ou=App,ou=Applications,dc=company,dc=CH" messageID: 5 protocolOp: compareRequest (14) compareRequest entry: cn=RW,ou=ApplRoles,ou=App,ou=Applications,dc=company,dc=CH ava attributeDesc: AppRoles assertionValue: cn=username,ou=OU,dc=company,dc=CH
答案(來自 Wireshark 轉儲):
LDAPMessage compareResponse(5) noSuchObject ([DSA]:No such object:cn=RW,ou=ApplRoles,ou=App,ou=Applications,dc=company,dc=CH) messageID: 5 protocolOp: compareResponse (15) compareResponse resultCode: noSuchObject (32) matchedDN: ou=Applications,dc=company,dc=CH errorMessage: [DSA]:No such object:cn=RW,ou=ApplRoles,ou=App,ou=Applications,dc=company,dc=CH
所以 LDAP 管理員說,我應該嘗試僅將“assertionValue”更改為“cn=username”。
有誰知道如何改變這個值?或者是否有其他選項可以限制 LDAP 組的使用者訪問我的伺服器?
我能夠通過設置
pam_filter
in來解決問題/etc/ldap.conf
:# Filter to AND with uid=%s pam_filter AppRoles=cn=RW,ou=ApplRoles,ou=App,ou=Applications,dc=company,dc=CH
如果使用者過濾器和 pam_filter 將返回屬性,則密碼將僅作為新的 bindRequest 傳輸到 LDAP 伺服器。因此,使用者必須在該組中才能檢查憑據。