本节书摘来自异步社区《Linux/UNIX OpenLDAP实战指南》一书中的第1章,第1.4节,作者:郭大勇著,更多章节内容可以访问云栖社区“异步社区”公众号查看

1.4 OpenLDAP目录条目概述

1.4.1 objectClass分类
objectClass类通常分三类:结构型、辅助型、抽象型。

结构型(structural):如person和organizationUnit。
辅助型(auxiliary):如extensibleObject。
抽象型(abstract):如top,抽象型的objectClass不能直接使用。
1.4.2 OpenLDAP常见的objectClass
OpenLDAP常见的objectClass类如下所示。

  • alias
  • applicationEntity
  • dSA
  • applicationProcess
  • bootableDevice
  • certificationAuthority
  • certificationAuthority-V2
  • country
  • cRLDistributionPoint
  • dcObject
  • device
  • dmd
  • domain
  • domainNameForm
  • extensibleObject
  • groupOfNames
  • groupOfUniqueNames
  • ieee802Device
  • ipHost
  • ipNetwork
  • ipProtocol
  • ipService
  • locality
  • dcLocalityNameForm
  • nisMap
  • nisNetgroup
  • nisObject
  • oncRpc
  • organization
  • dcOrganizationNameForm
  • organizationalRole
  • organizationalUnit
  • dcOrganizationalUnitNameForm
  • person
  • organizationalPerson
  • inetOrgPerson
  • uidOrganizationalPersonNameForm
  • residentialPerson
  • posixAccount
  • posixGroup
  • shadowAccount
  • strongAuthenticationUser
  • uidObject
  • userSecurityInformation

如上对象类由OpenLDAP官方所提供,以满足大部分企业的需求,OpenLDAP还支持系统所提供的对象类,例如sudo、samba等。后续章节将对企业中常用的对象类进行阐述并通过案例演示其实现过程,让读者熟悉其原理及实现过程。

当OpenLDAP官方以及系统提供的对象类无法满足企业的特殊需求时,读者可根据OpenLDAP schema内部结构制定schema规范并生成对象类,来满足当前需求。

1.4.3 objectClass详解
在OpenLDAP目录树中,每个条目必须包含一个属于自身条件的对象类,然后再定义其条目属性及对应的值。

OpenLDAP条目的属性能否添加取决于条目所继承的objectClass是否包含此属性。objectClass具有继承关系,也就是说,条目添加的属性最终取决于自身所继承的所有objectClass的集合。如果所添加的属性不在objectClass范围内,此时目录服务器不允许添加此属性。如果要添加,就必须添加schema文件产生objectClass所对应的属性。objectClass和Attribute由schema文件来规定,存放在/etc/openldap/schema目录下,schema文件规范objectClass的构成以及属性和值在目录树中的对应关系。后面章节会介绍如何通过定义schema文件来产生objectClass,从而生成所需要的属性。

每一个属性和值将用作每个条目在目录树中存储信息的标准,例如能包含哪些属性信息。对于objectClass的理解,读者可以将objectClass的属性值理解为一种模板。模板定义哪些信息可以存取,哪些信息不可以存储在目录树中。

1.4.4 objectClass案例分析
下面给出两个对象类案例分析示例。

objectClass案例分析示例1
所有的objectClass定义都存放在/etc/openldap/schema/*.schema文件中。例如,person属性的定义就存放在core.schema文件中。

objectclass ( 2.5.6.6 NAME 'person'DESC 'RFC2256: a person'SUP top STRUCTURALMUST ( sn $ cn )MAY ( userPassword $ telephoneNumber $ seeAlso $ description ) )

分析:

如果要定义person类型,需要定义顶级为top,并且必须定义sn和cn两个属性,还可以附加userPassword、telephoneNumber、seeAlso、description 4个属性值。邮件地址、国家等属性不可以定义,除非读者添加相关的objectClass条目,否则提示相关属性不允许添加。

objectClass案例分析示例2
objectClass: (2.5.6.0 NAME 'top'
ABSTRACT
MUST (objectClass))   objectClass: ( 2.5.6.6 NAME 'person'
SUP top STRUCTURAL
MUST (sn $ cn )
MAY (userPassword $ telephoneNumber $
seeAlso $ description ))

分析:

对于此案例,如果要定义top属性,必须定义一个objectClass属性。因为此案例中还定义了person属性,所以要必须定义sn和cn属性,以及可以附加的属性(userPassword、telephoneNumber、seeAlso、description)。此案例中必须要定义的有3个属性分别是objectClass、sn以及cn。通过此案例下一级的objectClass可以继承上一级objectClass的属性信息。

注:
根据定义,对于不同的objectClass,属性的相关信息也不同。希望通过上面两个案例的介绍,能让读者了解objectClass的含义以及属性的含义。

《Linux/UNIX OpenLDAP实战指南》——1.4 OpenLDAP目录条目概述相关推荐

  1. OpenLDAP实战指南上市发售

       运维界--开源集中统一账号管理平台 - OpenLDAP实战指南,感谢大家的支持和帮助,本书才能得以顺利出版,并将此书献给热爱开源技术的伙伴们.        本书通过基础篇.高级篇.实战篇循序 ...

  2. 《Linux/UNIX OpenLDAP实战指南》——2.7 OpenLDAP用户以及与用户组相关的配置

    本节书摘来自异步社区<Linux/UNIX OpenLDAP实战指南>一书中的第2章,第2.7节,作者:郭大勇著,更多章节内容可以访问云栖社区"异步社区"公众号查看 2 ...

  3. 《Linux/UNIX OpenLDAP实战指南》——1.8 自动化运维解决方案

    本节书摘来自异步社区<Linux/UNIX OpenLDAP实战指南>一书中的第1章,第1.8节,作者:郭大勇著,更多章节内容可以访问云栖社区"异步社区"公众号查看 1 ...

  4. 《Linux/UNIX OpenLDAP实战指南》——第2章 OpenLDAP服务器安装与配置 2.1OpenLDAP平台支持...

    本节书摘来自异步社区<Linux/UNIX OpenLDAP实战指南>一书中的第2章,第2.1节,作者:郭大勇著,更多章节内容可以访问云栖社区"异步社区"公众号查看 第 ...

  5. 《Linux/UNIX OpenLDAP实战指南》——2.3 Linux平台安装

    本节书摘来自异步社区<Linux/UNIX OpenLDAP实战指南>一书中的第2章,第2.3节,作者:郭大勇著,更多章节内容可以访问云栖社区"异步社区"公众号查看 2 ...

  6. 《Linux/UNIX OpenLDAP实战指南》——2.5 OpenLDAP单节点配置案例

    本节书摘来自异步社区<Linux/UNIX OpenLDAP实战指南>一书中的第2章,第2.5节,作者:郭大勇著,更多章节内容可以访问云栖社区"异步社区"公众号查看 2 ...

  7. 《Linux/UNIX OpenLDAP实战指南》——2.4 OpenLDAP配置

    本节书摘来自异步社区<Linux/UNIX OpenLDAP实战指南>一书中的第2章,第2.4节,作者:郭大勇著,更多章节内容可以访问云栖社区"异步社区"公众号查看 2 ...

  8. 《Linux/UNIX OpenLDAP实战指南》——1.3 OpenLDAP schema概念

    本节书摘来自异步社区<Linux/UNIX OpenLDAP实战指南>一书中的第1章,第1.3节,作者:郭大勇著,更多章节内容可以访问云栖社区"异步社区"公众号查看 1 ...

  9. 《Linux/UNIX OpenLDAP实战指南》——2.8 OpenLDAP索引

    本节书摘来自异步社区<Linux/UNIX OpenLDAP实战指南>一书中的第2章,第2.8节,作者:郭大勇著,更多章节内容可以访问云栖社区"异步社区"公众号查看 2 ...

  10. 《Linux/UNIX OpenLDAP实战指南》——2.6 OpenLDAP目录树规划

    本节书摘来自异步社区<Linux/UNIX OpenLDAP实战指南>一书中的第2章,第2.6节,作者:郭大勇著,更多章节内容可以访问云栖社区"异步社区"公众号查看 2 ...

最新文章

  1. Python __dict__属性详解
  2. EF 5.0 帮助类 增删改查
  3. 红帽论坛北京站召开 设立亚太开放创新实验室
  4. OpenCV中阈值操作
  5. HTML 表格中的行合并与列合并
  6. BOOT INI专辑
  7. MUI(侧滑导航)组件使用 - 踩坑篇
  8. 社区,v2ex;天才,livid and SAI
  9. iPhone像素点和常用控件尺寸
  10. FontStruct——制作你自己的个性化字体
  11. Laravel框架-迁移文件
  12. 深度学习GPU选购指南
  13. 英汉小字典java_java 学习案例之英汉字典
  14. 45. Jump Game II(跳跃游戏II)
  15. Oracle EBS教学视频
  16. .NET获取快递100提供的查询快递信息的方法
  17. python生成ppt报告_python 生成 pptx 分析报告的工具包:reportgen
  18. 浅谈耳机分类,2021哪款蓝牙耳机兼容性更强?
  19. java程序设计计算机二级,计算机二级Java程序设计真题及答案
  20. 宠物连连看2完整Android代码项目

热门文章

  1. 找工作,如何写好一份漂亮的简历,给你借鉴一下
  2. freebsd mysql tmp_FreeBSD下安装MySQL与MySQLdb笔记
  3. principle文本导入oracle,动效设计Principle:初识界面
  4. php怎么跟小程序链接,小程序的链接怎么提取?
  5. vs2012打开c语言贪吃蛇,第一个满意的C语言控制台游戏——贪吃蛇(原创)
  6. 手机qq和电脑qq怎么同步消息_怎么在QQ上把自己电脑上的文件传到QQ上??
  7. 关于绑定事件的一个疑惑
  8. 数据库出现'\xF0\x9F\x98\xB8'
  9. macOS IKPictureTaker 图片选择器
  10. 怎样配置spring aop