Sun Java System Directory Server Enterprise Edition 6.3 管理指南

通过 LDAP 管理属性类型

本部分介绍如何通过 LDAP 创建、查看和删除属性类型。

创建属性类型

cn=schema 条目具有多值属性 attributeTypes,该属性包含目录模式中每个属性类型的定义。可以使用 ldapmodify(1) 命令添加这些定义。

新的属性类型定义以及您对用户定义的属性类型所做的更改都保存在 99user.ldif 文件中。

对于每个属性类型定义,至少要提供一个 OID 以定义新的属性类型。请考虑至少为新属性类型使用以下元素:

Procedure创建属性类型

可使用 DSCC 执行此任务。有关信息,请参见目录服务控制中心界面和 DSCC 联机帮助。

  1. 根据 RFC 4517 中指定的语法准备属性类型定义。

  2. 使用 ldapmodify(1) 命令添加属性类型定义。

    请注意,目录服务器会将 X-ORIGIN 'user defined' 添加到您提供的定义中。


示例 12–1 创建属性类型

以下示例将使用 ldapmodify 命令添加具有目录字符串语法的新属性类型:


$ cat blogURL.ldif 
dn: cn=schema
changetype: modify
add: attributeTypes
attributeTypes: ( 1.2.3.4.5.6.7 
 NAME ( 'blog' 'blogURL' ) 
 DESC 'URL to a personal weblog' 
 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 
 SINGLE-VALUE )

$ ldapmodify -D cn=admin,cn=Administrators,cn=config -w - -f blogURL.ldif
Enter bind password: 
modifying entry cn=schema

$

在生产环境中,应该提供一个唯一的有效 OID,而不是 1.2.3.4.5.6.7


查看属性类型

cn=schema 条目具有多值属性 attributeTypes,该属性包含目录模式中每个属性类型的定义。可以使用 ldapsearch(1) 命令读取这些定义。

Procedure查看属性类型

可使用 DSCC 执行此任务。有关信息,请参见目录服务控制中心界面和 DSCC 联机帮助。

  1. 使用 ldapsearch 命令查看您的目录模式中当前存在的所有属性类型定义。


示例 12–2 查看属性类型

以下命令显示所有属性类型的定义:


$ ldapsearch -T -b cn=schema "(objectclass=*)" attributeTypes

-T 选项可阻止 ldapsearch 命令折叠 LDIF 行,以便您更容易地使用 grepsed 等命令处理输出。这样,如果您通过 grep 命令输送此命令的输出,则可以只查看目录模式中用户定义的扩展部分。例如:


$ ldapsearch -T -b cn=schema "(objectclass=*)" attributeTypes | grep "user defined"
 attributeTypes: ( 1.2.3.4.5.6.7 NAME ( 'blog' 'blogURL' ) 
 DESC 'URL to a personal weblog' 
 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE 
 X-ORIGIN 'user defined' )

删除属性类型

cn=schema 条目具有多值属性 attributeTypes,该属性包含目录模式中每个属性类型的定义。可以使用 ldapmodify(1) 命令删除具有 X-ORIGIN 'user defined' 的定义。

由于模式是由 LDAP 视图在 cn=schema 中定义的,因此您可以使用 ldapsearchldapmodify 实用程序联机查看和修改模式。但是,您只能删除 X-ORIGIN 字段值为 'user defined' 的模式元素。服务器不会删除其他定义。

对用户定义属性所做的更改将保存在 99user.ldif 文件中。

Procedure删除属性类型

可使用 DSCC 执行此任务。有关信息,请参见目录服务控制中心界面和 DSCC 联机帮助。

  1. 查看要删除的属性类型的定义。

    有关详细信息,请参见查看属性类型

  2. 使用 ldapmodify(1) 命令删除模式中出现的属性类型定义。


示例 12–3 删除属性类型

以下命令将删除在示例 12–1中创建的属性类型:


$ ldapmodify -D cn=admin,cn=Administrators,cn=config -w -
Enter bind password: 
dn: cn=schema
changetype: delete
delete: attributeTypes
attributeTypes: ( 1.2.3.4.5.6.7 NAME ( 'blog' 'blogURL' ) 
 DESC 'URL to a personal weblog' 
 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE 
 X-ORIGIN 'user defined' )
^D

请注意,必须包括由目录服务器添加的 X-ORIGIN 'user defined'(用于将此模式定义归类为扩展)。