【TDS学习文档4】IBM Directory schema的管理2——object class

简介: 作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 一个object class定义了描述一个object所需的一组属性,例如,创建了一个object class tempEmployee ,其中就包含了与临时雇员相关的属性,比如idNumber, dateOfHire, assignmentLength.

作者:gnuhpc
出处:http://www.cnblogs.com/gnuhpc/

一个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>) )

作者:gnuhpc
出处:http://www.cnblogs.com/gnuhpc/


               作者:gnuhpc
               出处:http://www.cnblogs.com/gnuhpc/
               除非另有声明,本网站采用知识共享“署名 2.5 中国大陆”许可协议授权。


分享到:

目录
相关文章
|
Java API 开发工具
从零开始学习 Java:简单易懂的入门指南之Runtime、Object(十三)
从零开始学习 Java:简单易懂的入门指南之Runtime、Object(十三)
|
2月前
|
JavaScript
vue学习(7)Object.defineProperty
vue学习(7)Object.defineProperty
36 2
|
5月前
|
前端开发 JavaScript Java
Java基础10-深入理解Class类和Object类(二)
Java基础10-深入理解Class类和Object类(二)
45 5
|
5月前
|
Java C++
Java基础10-深入理解Class类和Object类(一)
Java基础10-深入理解Class类和Object类(一)
63 4
|
6月前
|
Java
【JAVA学习之路 | 基础篇】Object类及重写的equals()与toString()
【JAVA学习之路 | 基础篇】Object类及重写的equals()与toString()
|
6月前
|
存储 设计模式 Python
Python中的类(Class)和对象(Object)
Python中的类(Class)和对象(Object)
74 0
|
6月前
|
Python
Python学习 -- 根类object
Python学习 -- 根类object
37 0
|
11月前
【Vue2.0学习】—Object.defineProperty(三十)
【Vue2.0学习】—Object.defineProperty(三十)
|
Python
Python学习 -- 根类object
Python学习 -- 根类object
86 0