4.2. 通过对象类配置属性唯一插件


您可以配置 Attribute Uniqueness 插件,以确保属性的值在包含特定对象类的条目中是唯一的。要配置插件,您必须设置以下配置参数:

  • uniqueness-top-entry-oc.此参数唯一标识插件验证属性唯一性的子树。该插件仅在这些父条目中的条目中验证唯一性,其中包含您在 uniqueness-top-entry-oc 中设置的特定对象类。如果目录服务器在更新条目的父条目中没有找到对象类,则搜索将继续到目录树的根目录。
  • uniqueness-subtree-entries-oc.此参数标识插件必须检查哪些条目。当您在 uniqueness-subtree-entries-oc 参数中设置对象类时,插件仅在包含此特定对象类的更新条目中验证属性的唯一性。

使用以下示例流程将 mail 属性设置为在包含 nsContainer 对象类集的条目下的所有条目中唯一,并使用插件在包含 inetOrgPerson 对象类的条目中搜索 mail 属性。

前提条件

  • 有目录管理器权限。

流程

  1. 创建新的插件配置条目:

    # dsconf -D "cn=Directory Manager" ldap://server.example.com plugin attr-uniq add "Mail Uniqueness with OC" --attr-name mail --subtree-entries-oc=inetOrgPerson --top-entry-oc=nsContainer
    Copy to Clipboard Toggle word wrap

    命令创建带有 OC,cn=plugins,cn=config 条目的 cn=Mail Uniqueness,带有配置的 uniqueness-top-entry-ocuniqueness-subtree-entries-oc 插件参数。

  2. 可选:设置插件必须从属性唯一验证中排除的子树。

    例如,如果您希望插件跳过 ou=internal,ou=sales,dc=example,dc=com 子树,使用 ldapmodify 工具来设置 uniqueness-exclude-subtrees 参数:

    # ldapmodify -D "cn=Directory Manager" -W -H ldap://server.example.com -x
    
    dn: cn=Mail Uniqueness with OC,cn=plugins,cn=config
    changetype: modify
    add: uniqueness-exclude-subtrees
    uniqueness-exclude-subtrees: ou=internal,ou=sales,dc=example,dc=com
    Copy to Clipboard Toggle word wrap
  3. 在服务器上启用插件:

    # dsconf -D "cn=Directory Manager" ldap://server.example.com plugin attr-uniq enable "Mail Uniqueness with OC"
    Copy to Clipboard Toggle word wrap
  4. 重启实例:

    # dsctl instance_name restart
    Copy to Clipboard Toggle word wrap

验证

  • 查看配置条目详情:

    # dsconf -D "cn=Directory Manager" ldap://server.example.com plugin attr-uniq show "Mail Uniqueness with OC"
    
    dn: cn=Mail Uniqueness with OC,cn=plugins,cn=config
    cn: Mail Uniqueness with OC
    nsslapd-plugin-depends-on-type: database
    nsslapd-pluginDescription: none
    nsslapd-pluginEnabled: on
    ...
    uniqueness-attribute-name: mail
    uniqueness-exclude-subtrees: ou=internal,ou=sales,dc=example,dc=com
    uniqueness-subtree-entries-oc: inetOrgPerson
    uniqueness-top-entry-oc: nsContainer
    Copy to Clipboard Toggle word wrap
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部