• 【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/


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


    分享到:

  • 相关阅读:
    十二星座职业成功忠告
    一文为你详解Unique SQL原理和应用
    如何在软件发布计划中自动化语义化版本与变更日志
    云图说 | 云上资源管控有神器!关于IAM,你想知道的都在这里!
    15年华为云视频架构师采访实录:揭秘未来音视频行业的科技趋势!
    【智简联接,万物互联】华为云·云享专家董昕:Serverless和微服务下, IoT的变革蓄势待发
    让你的产品更懂世界:如何提升场景文本识别中的语言模型
    一文带你彻底了解大数据处理引擎Flink内存管理
    未雨绸缪,数据保护之NBU介质备份
    六个步骤,从零开始教你搭建基于WordPress的个人博客
  • 原文地址:https://www.cnblogs.com/gnuhpc/p/2807443.html
Copyright © 2020-2023  润新知