作者:
出处:一个object class定义了描述一个object所需的一组属性,例如,创建了一个object class tempEmployee ,其中就包含了与临时雇员相关的属性,比如idNumber, dateOfHire,
assignmentLength. object class的基本类型包含如下几种类型: Groups Locations Organizations People 1.定义object classes 定义一个objece classes,要通过定义它的特征类型、继承和属性来定义。 object class的类型: 第一个是:Structural 每一个入口必须从属于一个且仅一个Structural型的object class,它定义了这个入口的基本内容。这个object class反映了一个真实世界的object。这种类型是最常见的。 第二个是:Structural 这个类型被superclass或定义其他object class的模板所用。它定义了一组属性,这组属性是一组structural的object class所共有的。这些object class若是被定义为abstract class的子集,那么就继承了abstract class定义了的属性。 第三个是:Auxiliary 这个类型指定了一些可以与一个从属于某个特定structral object class的入口有关的属性。虽然一个入口只能属于一个单一的structural object class,但是它可以从属于auxiliary object classes。 2.object classes的继承 一个新的object class 可以带着父class和额外添加或修改的属性被定义。所有的object class都是从abstract object class开始继承的,称为top继承。它们也可以从其他object class继承。abstract object class定义了一系列一个特定入口需要和允许的属性。object class继承取决于object class定义的顺序。一个object class只能继承在它之前定义的object class 3.属性 每个object class都包含一组必须或可选的属性。 4.查看object class idsldapsearch -b cn=schema -s base objectclass=* objectclasses 5.增加object class idsldapmodify -D <admindn> -w <adminpw> -i <filename> filename中包含如下信息: dn: cn=Schema changetype: modify add: objectclasses objectclasses: ( <myobjectclass-oid> NAME '<myobjectclass>' DESC '<An object class I defined for my LDAP application>' SUP '<objectclassinheritance>' <objectclasstype> MUST (<attribute1> $ <attribute2>) MAY (<attribute3> $ <attribute4>) ) 6.编辑一个object class 并不是所有的schema都允许被修改的, idsldapmodify -D <admindn> -w <adminpw> -i <filename> filename中指代的file是指 dn: cn=schema changetype: modify replace: objectclasses objectclasses: ( <myobjectclass-oid> NAME '<myobjectclass>' DESC '<An object class I defined for my LDAP application>' SUP '<newsuperiorclassobject>' <newobjectclasstype> MUST (<attribute1> $ <attribute2>) MAY (<attribute3> $ <attribute4>) ) 在其中要注意对于cn=schema的入口的修改是与其他入口的行为不一样的,它只修改了相对应的值而对其他的所有的object class没有做出删除的动作。 7.复制object class 先查询在这个schema中所包含的object class,idsldapsearch -b cn=schema -s base objectclass=* objectclasses,选择你所要拷贝object class,设定脚本,执行 idsldapmodify -D <admindn> -w <adminpw> -i <filename> 脚本内容如下: changetype: modify replace: objectclasses objectclasses: ( <mynewobjectclass-oid> NAME '<mynewobjectclass>' DESC '<a>' SUP '<superiorclassobject>'<objectclasstype> MUST (<attribute1> $ <attribute2>) MAY (>attribute3> $ <attribute4> $ <attribute3>) ) 8.删除object class 并不是所有的object class都可以随意改动的。 idsldapmodify -D <admindn> -w <adminpw> -i <filename> filename内容形如: dn: cn=schema changetype: modify delete: objectclasses objectclasses: ( <myobjectclass-oid> NAME '<myobjectclass>' DESC '<an>' SUP '<objectclassinheritance>' <objectclasstype> MUST (<attribute1> $ <attribute2>) > MAY (<attribute3> $ <attribute4>) )作者:
出处: