Redhat

RHEL 5.8 LDAP pam_groupdn 自定義

  • February 1, 2013

我有一個給定的 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_filterin來解決問題/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 伺服器。因此,使用者必須在該組中才能檢查憑據。

引用自:https://serverfault.com/questions/474287