本部分介绍如何为 uid 属性启用和配置默认唯一性插件,以及如何实现任何其他属性的唯一性。
此过程说明如何使用 dsconf 命令启用和配置 UID 唯一性插件。此插件配置条目的 DN 为 cn=uid uniqueness,cn=plugins,cn=config。
您可以使用 DSCC 执行此任务。有关信息,请参见目录服务控制中心界面和 DSCC 联机帮助。
使用 DSCC 时,不得修改默认的 UID 唯一性插件以实现其他属性的唯一性。如果不需要使用 UID 唯一性插件,请将此插件保留为禁用状态,并为其他属性创建新的插件实例,如实现其他属性的唯一性中所述。
启用插件。
$ dsconf enable-plugin -h host -p port "uid uniqueness" |
根据要实现唯一性的子树的指定方式,修改插件参数。
要指定单个子树的基 DN,请键入:
$ dsconf set-plugin-prop -h host -p port "uid uniqueness" argument:uid argument:subtreeBaseDN |
例如:
$ dsconf set-plugin-prop -h host1 -p 1389 "uid uniqueness" argument:uid \ argument:dc=People,dc=example,dc=com |
要指定多个子树,请添加更多的参数,并将子树的完整基 DN 作为每个参数的值。
$ dsconf set-plugin-prop -h host -p port "uid uniqueness" argument:uid \ argument:subtreeBaseDN argument:subtreeBaseDN |
要根据子树基条目的对象类指定这些子树,请将参数设置为以下值。将在每个具有 baseObjectClass 的条目下的子树中实现 uid 属性唯一性。也可以选择在第三个参数中指定 entryObjectClass,以便插件只在特定操作(以具有此对象类的条目为目标)中实现唯一性。
$ dsconf set-plugin-prop -h host -p port "uid uniqueness" argument:attribute=uid \ argument:markerObjectClass=baseObjectClass argument:entryObjectClass=baseObjectClass |
要在现有参数列表中添加参数,请使用以下命令:
$ dsconf set-plugin-prop -h host -p port "uid uniqueness" argument+:argument-value |
重新启动服务器以使更改生效。
UID 唯一性插件可用于实现任何属性的唯一性。您必须在目录的 cn=plugins,cn=config 下创建新条目,以创建此插件的新实例。
无法使用 DSCC 执行此任务。请使用命令行,如以下过程所述。
创建新插件。
$ dsconf create-plugin -h host -p port -H lib-path -F init-func \ -Y type plugin-name |
plugin-name 应该是简短的描述性名称,其中包含属性名称。例如,要创建一个插件以实现邮件 ID 属性的唯一性,请使用以下命令:
$ dsconf create-plugin -h host1 -p 1389 -H /opt/SUNWdsee/ds6/lib/uid-plugin.so \ -F NSUniqueAttr_Init -Y preoperation "mail uniqueness" |
设置插件属性。
$ dsconf set-plugin-prop -h host -p port plugin-name property:value |
例如,要设置邮件唯一性插件的属性,请使用以下命令:
$ dsconf set-plugin-prop -h host1 -p 1389 "mail uniqueness" \ desc:"Enforce unique attribute values..." version:6.0 \ vendor:"Sun Microsystems, Inc." depends-on-type:database |
启用插件。
$ dsconf enable-plugin -h host -p port plugin-name |
指定插件参数。
这些参数取决于要实现唯一性的子树的确定方式。
要根据子树的基 DN 定义一个或多个子树,则第一个参数必须是应具有唯一值的属性的名称。后面的参数是这些子树基条目的完整 DN。
$ dsconf set-plugin-prop -h host -p port plugin-name argument:attribute-name \ argument:subtreeBaseDN argument:subtreeBaseDN... |
要在现有参数列表中添加参数,请使用以下命令:
$ dsconf set-plugin-prop -h host -p port plugin-name argument+:argument-value |
要根据子树基条目的对象类定义子树,则第一个参数必须包含 attribute=attribute-name(用于指定应具有唯一值的属性的名称)。第二个参数必须是 baseObjectClass(用于确定要实现唯一性的子树的基条目)。也可以选择在第三个参数中指定 entryObjectClass,以便插件只在特定操作(以具有此对象类的条目为目标)中实现唯一性。
$ dsconf set-plugin-prop -h host -p port plugin-name argument:attribute=attribute-name \ argument:markerObjectClass=baseObjectClass argument:requiredObjectClass=entryObjectClass |
在所有插件参数中, = 符号的前后不能出现空格。
重新启动服务器以使更改生效。