ldap服务器包含上百个对象类型(object class)和属性,这些对象类和属性都可以满足大部分需求,如果你想定义自己的schema,你只能继承扩展现有的schema进行操作。
tip:
增加的新的属性要定义在新的class里。
通过LDAP扩展Schema:
只能修改带有‘user defined’的X-ORIGIN的域。服务器会拒绝修改其他定义。
用户自定义的新element的定义和更改,保存在99user.ldif文件当中。
通过用户Schema文件扩展Schema
Schema文件在服务器启动时读一次。文件contents会被加载到cn=schema下。由于schema定义顺序很重要,因此schema文件的加载由数字和字母顺序决定。在ldif文件中定义schema的时候,X-ORIGIN的值不能是"user defined",这个值已经被系统使用了。不要更改其他的已经存在的ldif文件。
不能修改已经存在的schema文件,可以增加定义的属性和对象类.将属性和类的定义存放在文件当中,例如98mySchema.ldif,然后复制该文件到每个服务器实例下的schema目录下,重启服务器使更改生效.
使用自定义schema
1,定义ldif文件
2,复制ldif文件到拓扑里的每个服务器上
3,重启每个ds实例,使更改生效.
每个schme文件的命名规则[00-99] filename.ldif,数字不能超过99
在创建自定义schema之前:
1,当添加新的schema元素,所有的属性都要在类使用之前定义。可以把属性和类定义在相同的schema文件当中。
2,创建的用户属性和对象要定义在相同的schema文件中,防止服务器加载最近创建的schema时重写之前的定义。
3,当手动定义新的schema的时候,最好把这些定义加到99user.ldif中
使用Schema文件和拓扑扩展schema
1,两个步骤
1,创建schema定义文件,例如叫98mySchema.ldif
2,扩展的schema文件添加到99user.dlif中
2,在定义schema的master上执行dsadm start 或则dsadm restart 命令结合--schema-push参数
3,重启master服务器。
服务器默认ldif文件
00core.dlif:LDAP V3标准用户和组织schema
50ns-directory.dlif:低版本的目录服务器的schema配置信息
99user.ldif:用户创建的elements
OID:Object identifier,
参考连接:docs.oracle.com/cd/E29127_01/doc.111170/e28972/ds-schema.htm