2013-04-04 127 views
5

我需要知道應該使用哪種組來分組LDAP中的用戶。在OpenLDAP中爲分組用戶選擇哪種類型的組

我基本上需要函數MemberOf來獲得一些基於組成員資格的權限。

實施例:

用戶 - 用戶1 - 用戶2 - 用戶3個 組 - 第1組 - 組2

用戶1是第1組的成員和組2

這些組需要是動態的,如Active Directory。

的問題來,因爲我有這方面的選擇:

Samba: Group Mapping

User Group

Generic: Posix Group

這同樣適用於用戶,其中一個我應該選擇?

Generic: User Account

Samba: Account

我不能找到一個很好的網站,其中的差異顯示,任何一個環節將非常感激。

回答

12

LDAP/X.500定義僅組對象具有構件屬性,逆關係,其中用戶對象具有在OpenLDAP的一個的memberOf屬性可以與memberof overlay來實現。 NDS/eDir和AD通過魔術實現了這一點。 LDAP本身並未定義動態雙向成員/組對象/屬性。與該覆蓋圖相關的是覆蓋圖,這有助於完成錯覺(並且還解決了總是需要至少一個成員的羣體的輕度刺激問題)。

通常會選擇兩種有趣的團體類型,groupOfNamesgroupOfUniqueNames,第一個GroupOfNames適合大多數用途。後者groupOfUniqueNames有一個稍微深奧的特徵:它允許成員DN to contain a numeric UID suffix隨着時間的推移保留成員的唯一性,如果DN被重新分配給不同的實體。這兩種形式都不會在成員名單中強制使用唯一的DN。

其他類型的組有不同的目的(由模式和應用程序定義)。不太常見的組類型對象是RFC 2256角色organizationalRole類型,具有roleOccupant屬性),它隱式用於基於角色的訪問控制,但與其他組類型相似(感謝EJP)。

posixGroup類型代表傳統的unix組,由gidNUmber和列表memberUid' s標識。它不是DIT中的通用組對象,取決於應用程序(即LDAP客戶端層)來實現/觀察它。

當涉及到用戶帳戶,帳戶對象的類型不應該被認爲是排他的,每種類型通常會增加的屬性對用戶對象以兼容的方式(儘管一個objectClass可以獨佔,如果它是結構 ,這通常不是你經常需要擔心的事情)。

+3

還有'organizationalRole'。 – EJP 2013-04-04 23:42:31

+0

@EJP太好了,謝謝!補充說,答案。 – 2013-04-05 00:17:25

+0

謝謝我安裝了兩個,它仍然要求groupOfNames上的一個成員。我做錯了什麼嗎?我將嘗試使用posixGroup,我正在使用PHPLDAPAdmin – JorgeeFG 2013-04-05 14:19:10