【TDS学习文档4】IBM Directory schema的管理2——object class
作者: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/
總結
以上是生活随笔為你收集整理的【TDS学习文档4】IBM Directory schema的管理2——object class的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iOS中EXC_BAD_ACCESS解决
- 下一篇: 转:开火,移动-大神Joel 也浮躁