搜索

4.3. 分组目录条目

download PDF

要简化目录管理,可组您创建的条目。目录服务器支持以下对条目方法进行分组的方法:

  • 角色

4.3.1. 关于目录服务器中的组

组是用户的集合。目录服务器有几个组类型,它们反映了允许的成员资格类型,如证书组、URL 组和唯一组,它们只有唯一的成员。您可以通过对象类(如 groupOfUniqueNames )和对应的成员属性(如 uniqueMember )来定义每种类型的组。

组的类型标识成员的类型。组配置取决于目录服务器如何将成员添加到组中。目录服务器有两个组类型:

静态组
静态组具有有限并定义的成员列表。您可以手动将成员添加到组条目。
动态组
动态组使用过滤器将成员添加到组中。因此,成员数量会持续更改,因为与组过滤器更改的条目数。

组不对条目执行任何操作,但 LDAP 客户端可以管理组来执行操作。

4.3.1.1. 列出用户条目中的组成员资格

组是用户 DN 的列表。默认情况下,只有组条目包含成员资格信息,用户条目不包含此信息。

MemberOf 插件使用组成员条目动态更新用户条目,并反映该用户所属的组。该插件会自动扫描带有指定成员属性的组条目,跟踪所有用户 DN,并使用组名称在用户条目中创建对应的 memberOf 属性。

用户所属每个组的名称列为 memberOf 属性,您可以管理 memberOf 属性的值。

注意

默认情况下,MemberOf 插件只搜索目录服务器存储在与组相同的数据库中的潜在成员。如果目录服务器将用户和组存储在不同的数据库中,则 MemberOf 插件不会更新用户条目,因为插件无法定义用户和组之间的关系。

启用 memberOfAllBackends 属性,将 MemberOf 插件配置为搜索所有配置的数据库。

您可以通过在插件条目中设置多值 memberofgroupattr 来配置单个 MemberOf 插件实例,以管理多种类型的组。

4.3.1.2. 向组中添加自动新条目

您可以根据组成员资格应用密码策略、访问控制列表和其他规则。使用组,您可以在目录中一致且可靠地应用策略。

创建新条目时,自动将新条目分配给组,确保目录服务器在没有管理员操作的情况下立即将适当的策略和功能应用到这些条目。

使用 Automembership 插件时,静态组可以充当动态组。Automembership 插件使用基于条目属性、目录位置和正则表达式的一组规则,将用户自动分配给指定的组。

根据其他属性的值,可能存在与 LDAP 搜索过滤器匹配的实例条目。例如,您需要根据 IP 地址或物理位置将机器添加到不同的组中。或者您需要根据用户的员工 ID 号将用户放置到不同的组中。

automember 定义是一组嵌套条目,以及 Auto Membership 插件容器,然后自动成员定义,然后是该定义的任何正则表达式条件。

DG automember 插件
注意

仅当新条目添加到目录服务器时,目录服务器才会自动将条目分配给组。对于您修改的现有条目或条目以满足自动成员规则,请运行 fix-up 任务来分配正确的组成员资格。

4.3.2. 关于目录服务器中的角色

角色同时充当静态和动态组。对于组,Directory 服务器会将条目添加到组条目中作为成员。使用角色时,Directory 服务器会向条目添加 role 属性,然后使用该属性自动识别角色条目中的成员。

使用角色,您可以使用以下方法组织用户:

  • 明确列出角色成员。查看角色时,您可以看到此角色的完整成员列表。您可以查询角色来检查动态组无法实现的成员资格。
  • 查看条目所属的角色。当您查看条目时,您可以看到条目所属的角色,因为 Directory 服务器根据条目中的属性决定角色成员资格。它与组的 memberOf 属性类似,唯一的区别是您不需要启用或配置插件实例才能使此功能正常工作。
  • 分配适当的角色。目录服务器通过条目分配角色成员资格,而不是通过角色分配。因此,您可以在一个步骤中通过编辑条目来轻松地分配和删除用户所属的角色。

受管角色可以执行您可以使用静态组完成的所有操作。您可以使用过滤的角色过滤角色成员,类似于使用动态组的过滤。角色比组更容易使用,因为它们在实施过程中具有更大的灵活性,并降低客户端复杂性。

您可以使用角色类型显式或动态指定成员。目录服务器支持以下类型的角色:

受管角色
受管角色具有明确的成员列表。
过滤的角色
如果条目在角色中定义的特定属性,目录服务器会将条目分配给过滤的角色。角色定义指定目标属性的 LDAP 过滤器。与过滤器匹配的条目具有角色(位于成员)。
嵌套角色
嵌套角色是包含其他角色的角色。

您可以激活或停用只有一个操作中的整个条目组。您可以通过取消激活角色所属的角色来临时禁用角色的成员。

当您激活某个角色时,用户仍可以使用角色条目绑定到服务器。但是,用户无法使用属于此角色的任何条目绑定到服务器。属于 inactivated 角色的条目会将 nsAccountLock 属性设置为 true

当您激活嵌套角色时,如果用户是嵌套角色内任何角色的成员,则无法绑定到服务器。属于嵌套角色的直接或间接成员的所有条目会将 nsAccountLock 设置为 true。在嵌套的任意点上激活嵌套角色,取消激活其下的所有角色和用户。

4.3.3. 决定组和角色之间的

角色和组可以实现相同的目标。受管角色可以执行静态组可以执行的操作,而过滤的角色则可过滤和识别成员,方式与动态组相同。角色和组都有优点和缺点。决定是否使用角色或组,还是混合取决于您的要求和服务器资源。

角色降低了客户端复杂性。使用角色时,客户端应用程序可以通过搜索条目中的 nsRole 操作属性来检查角色成员资格。此多值属性标识条目所属的每个角色。从客户端应用程序视图中,检查成员资格的方法统一并在服务器端执行。

但是,角色需要增加服务器复杂性。与评估组相比,评估角色对目录服务器的资源密集型,因为服务器能够为客户端应用工作。

组需要更智能且更复杂的客户端来有效地使用它们。例如,从应用程序角度而言,动态组不提供服务器中的支持,以提供组成员列表。相反,应用会检索组定义,然后运行过滤器。只有在配置适当的插件时,用户条目才会包含组成员资格信息。

注意

您可以使用 MemberOf 插件来平衡组成员资格。当用户添加到组时,MemberOf 插件会在用户条目中动态创建 memberOf 属性。客户端可以在组条目上运行单个搜索,以获取其所有成员的列表,或者对用户条目进行单个搜索来获取它所属的所有组的完整列表。

只有修改成员资格时,服务器才会有维护开销。由于目录服务器同时将指定 的成员 (组)和 memberOf (用户)属性存储在数据库中,所以搜索不需要额外的处理,这会使从客户端进行搜索非常高效。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.