11.3. 使用命令行配置引用完整性插件


您可以使用命令行配置 referential Integrity 插件。

在复制拓扑的每个供应商上执行这个步骤。

流程

  1. 启用引用完整性插件:

    # dsconf -D "cn=Directory Manager" ldap://server.example.com plugin referential-integrity enable
  2. 设置子树,插件搜索删除或重命名用户条目的操作:

    # dsconf -D "cn=Directory Manager" ldap://server.example.com plugin referential-integrity set --entry-scope "ou=People,dc=example,dc=com"
  3. 可选:排除条目范围下的子树:

    # dsconf -D "cn=Directory Manager" ldap://server.example.com plugin referential-integrity set --exclude-entry-scope "ou=Special Users,ou=People,dc=example,dc=com"

    此命令将插件配置为忽略 ou=Special Users,ou=People,dc=example,dc=com 子树中执行的操作。

  4. 配置子树,该子树会在其中更新组条目:

    # dsconf -D "cn=Directory Manager" ldap://server.example.com plugin referential-integrity set --container-scope "ou=Groups,dc=example,dc=com"
  5. 默认情况下,插件对 成员uniqueMemberownerseeAlso 属性执行完整性更新。要指定其他属性,请输入:

    # dsconf -D "cn=Directory Manager" ldap://server.example.com plugin referential-integrity set --membership-attr attribute_1 attribute_2

    请注意,这个命令会覆盖插件配置中的属性列表。如果要添加属性,请将当前属性列表和额外属性列表传给 --membership-attr 选项。

  6. 可选: 默认情况下,Directory 服务器会立即执行引用完整性检查。如果要设置延迟,请输入:

    # dsconf -D "cn=Directory Manager" ldap://server.example.com plugin referential-integrity set --update-delay=5

    此命令将引用完整性检查的延迟 5 秒。请注意,如果您在多个供应商上启用了引用完整性,设置延迟可能会导致复制循环和目录不一致。要避免这些问题,请只在拓扑中的一个供应商上启用插件。

  7. 重启实例:

    # dsctl instance_name restart

验证

  1. 显示引用完整性插件配置:

    # dsconf -D "cn=Directory Manager" ldap://server.example.com plugin referential-integrity show
    ...
    nsslapd-plugincontainerscope: ou=Groups,dc=example,dc=com
    nsslapd-pluginentryscope: ou=People,dc=example,dc=com
    ...
    referint-membership-attr: member
    referint-membership-attr: uniquemember
    referint-membership-attr: owner
    referint-membership-attr: seeAlso
    referint-update-delay: 0
    ...
  2. 通过显示组成员属性来列出 组的成员

    # ldapsearch -D "cn=Directory Manager" -W -H ldap://server.example.com -b "cn=demoGroup,ou=Groups,dc=example,dc=com" member
    ...
    member: uid=demoUser,ou=People,dc=example,dc=com
  3. 删除 uid=demoUser,ou=People,dc=example,dc=com 用户:

    # dsidm -D "cn=Directory manager" ldap://server.example.com -b "dc=example,dc=com" user delete "uid=demoUser,ou=People,dc=example,dc=com"
  4. 再次显示组成员:

    # ldapsearch -D "cn=Directory Manager" -W -H ldap://server.example.com -b "cn=demoGroup,ou=People,dc=example,dc=com" member

    如果 uid=demoUser,ou=People,dc=example,dc=com 不再列为组的成员,则 referential Integrity 插件可以正常工作。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部