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

使用自定义模式文件扩展模式

模式文件是位于 instance-path/config/schema/ 中的 LDIF 文件。instance-path 与目录服务器实例所在的文件系统目录相对应。例如,此实例可能位于 /local/ds/ 中。这些文件可定义供目录服务器以及依赖于目录服务器的所有服务器使用的标准模式。 《Sun Java System Directory Server Enterprise Edition 6.3 Reference》《Sun Java System Directory Server Enterprise Edition 6.3 Man Page Reference》中介绍了这些文件和标准模式。

服务器只在启动时读取模式文件一次。这些 LDIF 文件的内容将被添加到 cn=schema 中模式的内存 LDIF 视图。由于模式定义的顺序非常重要,因此模式文件名称都以数字开头,并按字母数字顺序装入。只有在安装期间定义的系统用户才能对此目录中的模式文件执行写入操作。

在 LDIF 文件中直接定义模式时,不要在 X-ORIGIN 字段中使用 'user defined' 值。此值是为特定的模式元素保留的,这些元素通过 cn=schema 的 LDAP 视图进行定义,并出现在 99user.ldif 文件中。

99user.ldif 文件包含其他 ACI,用于 cn=schema 条目和所有已从命令行或使用 DSCC 添加的模式定义。添加新的模式定义时,将覆盖 99user.ldif 文件。如果要修改此文件,则必须立即重新启动服务器,以确保更改是最新的。

不要修改在其他模式文件中定义的标准模式。但是,您可以添加新文件,以定义新的属性和对象类。例如,要在许多服务器中定义新的模式元素,则可以在名为 98mySchema.ldif 的文件中定义这些元素,并将此文件复制到所有服务器上的模式目录中。然后,应重新启动所有服务器以装入新的模式文件。

Procedure使用自定义模式文件扩展模式

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

  1. 创建您自己的模式定义文件,如 98mySchema.ldif

    RFC 4517 中介绍了模式文件中的定义所使用的语法。

  2. (可选的)如果此服务器是将更新发送到其他服务器的主副本,请将您的模式定义文件复制到复制拓扑中的每个服务器实例中。

    复制机制无法检测到您直接对包含模式的 LDIF 文件所做的任何更改。因此,即使在重新启动主服务器之后,您的更改也不会复制到使用方。

  3. 重新启动将模式定义文件复制到的每个目录服务器实例。

    当服务器重新启动并重新装入模式定义时,您的更改将会生效。