9

我需要知道我应该使用哪种组来对 LDAP 中的用户进行分组。

我基本上需要函数 MemberOf,以根据组成员身份获得一些权限。

例子:

  • 用户
    • 用户 1
    • 用户 2
    • 用户 3
  • 团体
    • 第 1 组
    • 第 2 组

用户 1 是组 1 和组 2 的成员。

这些组需要是动态的,例如 Active Directory。

问题来了,因为我有这些可供选择:

Samba: Group Mapping

User Group

Generic: Posix Group

用户也是如此,我应该选择哪一个?

Generic: User Account

Samba: Account

我找不到显示差异的好网站,任何链接都将不胜感激。

4

1 回答 1

25

LDAP/X.500 只定义了具有成员属性的组对象,用户对象在 OpenLDAP 中具有memberof属性的反向关系可以通过覆盖来实现。NDS/eDir 和 AD 神奇地实现了这一点。LDAP 本身没有定义动态双向成员/组对象/属性。与该叠加层相关的是refint叠加层,它有助于完成错觉(并且还解决了始终需要至少一个成员的组的轻度刺激性问题)。memberof

通常有两种有趣的组类型可供选择,groupOfNames或者groupOfUniqueNames,第一种GroupOfNames适用于大多数目的。后者groupOfUniqueNames有一个稍微深奥的特性:它允许成员DN 包含一个数字 UID 后缀,以便在将 DN 重新分配给不同实体时保持成员的唯一性。这两种形式都不强制在成员列表中使用唯一的 DN。

其他类型的组有不同的目的(由模式和应用程序定义)。一个不太常见的组类型对象是RFC 2256 角色organizationalRole类型,带roleOccupant属性),它隐式用于基于角色的访问控制,但在其他方面类似于其他组类型(感谢EJP的提示)。

posixGroup类型表示传统的 unix 组,由 agidNUmber和列表memberUid's 标识。它不是 DIT 中的通用组对象,它取决于应用程序(即 LDAP 客户端层)来实现/观察它。

对于用户帐户,不应将帐户对象类型视为排他性的,每种类型通常以兼容的方式向用户对象添加属性(尽管如果它是结构性的,则objectClass 可以是排他性的,这不是您经常拥有的一般担心)。

于 2013-04-04T23:22:11.760 回答