LDAP 如何處理補充/次要使用者群組?

LDAP 如何處理補充/次要使用者群組?

我見過與配置 Apache 透過 LDAP 進行身份驗證相關的類似問題,但這個基本問題仍然讓我感到困惑。

在我的設定中,我建立了所有具有相同主 GID 的用戶,然後將用戶新增到各個(補充/輔助)群組。我已經測試了這些使用者帳戶,在大多數情況下一切正常 - 我基於補充群組成員身份的權限正在工作。我使用該smbldap-tools套件來配置我的使用者和群組,特別是我用來smbldap-usermod -G +NEW_GROUP user將使用者新增至補充群組。

如果我這樣做了,getent group我會看到那些補充團體及其成員。好的。

如果我查看其中一個補充組的 LDAP 條目,我會看到所有使用者都按預期列出。

然而,當我查看每個使用者的 LDAP 條目時,只gidNumber列出了與主要群組對應的條目。也就是說,每個使用者的 LDAP 條目僅列出主要群組,而沒有提及次要群組。

Samba/LDAP(使用 smbldap-tools)如何處理補充/次要群組?

此外,我如何形成搜尋過濾器來識別補充組的成員?

答案1

LDAP 只是一個資訊目錄。如何儲存和檢索資訊取決於應用程式。在這種情況下,posix 使用者和群組是根據 /etc/passwd 和 /etc/group 檔案建模的。每個使用者條目都會列出其主要群組的 gid。每個組別都會列出其所有成員(通常較少將其列為主要群組的成員)。

Samba 和用於在 LDAP 中儲存使用者和群組資訊的各種 nss 插件都會進行搜索,以查找使用者登入時所屬的群組。對於給定的用戶帳戶,搜尋過濾器類似於:

(&(objectclass=posixGroup)(memberUid=$user))

如果您想查看特定群組中的用戶,可以使用以下命令進行搜尋:

(&(objectclass=posixGroup)(cn=$group))

這假設您的所有群組都屬於 posixGroup 物件類別。

答案2

我不是一個大的 OpenLDAP 用戶,但如果這是一個 Active Directory 環境,我會使用每個使用者帳戶物件中存在的「memberOf」屬性。在 OpenLDAP 世界中,它看起來像覆蓋成員會做你正在尋找的事情。我猜測這個問題會告訴您需要了解什麼才能進行此操作。

相關內容