openldap schema

什么是schema

在openldap的目录树中,schema用来指定一个条目所包含的对象类(objectClass)以及每个对象类所包含的属性值(attribute),其中属性值又包含必要属性和可选属性。

schema是一个数据模型,定义对象类,对象类包含属性的定义,对象类和属性组合成条目,在添加数据条目时,会检查是否符合对象类(objectClass)及属性,通过则添加成功,否则打印错误信息。

如何理解schema

不管是在学习OpenLDAP时还是学习数据库时,都会遇到一个很迷糊的Schema的概念。

在数据库中,对数据库的设计可以称之为schema。即schema约束了数据库的设计结构,并提供了整个数据库的描述。schema仅展示数据库的设计,如表字段的类型,表与表之间的关联。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CRWnj0Wj-1634640367316)(…/…/images/schema/image-20210226195759348.png)]

在ldap中schema与database中的schema一样,如列出的schema中,这些代表了对应的ldap结构的设计。

what-is-a-schema

schema overview

olcObjectClasses: ( 0.9.2342.19200300.100.4.19 NAME 'simpleSecurityObject'
  DESC 'RFC1274: simple security object'
  SUP top AUXILIARY
  MUST userPassword ) # 必须包含的属性
#
# RFC 1274 + RFC 2247
olcAttributeTypes: ( 0.9.2342.19200300.100.1.25
  NAME ( 'dc' 'domainComponent' ) # 表示属性名称
  DESC 'RFC1274/2247: domain component'
  EQUALITY caseIgnoreIA5Match # 相等性匹配
  SUBSTR caseIgnoreIA5SubstringsMatch  # 字符串匹配
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE ) # 表示数据类型

schema包含什么

在openldap的schema中,有四个重要的元素:

Objectclass

Objectclass定义了一个类别,这个类别会被不同的目录(在LDAP中就是一个Entry)用到,它说明了该目录应该有哪些属性,哪些属性是必须的,哪些又是可选的。一个objectclass的定义包括名称(NAME),说明(DESC),类型(STRUCTURAL或AUXILARY),表示是结构型的还是辅助型的),必须属性(MUST),可选属性(MAY)等信息。

Attribute

Attribute就是一个上面Objectclass中可能包含的属性,对其的定义包括名称,数据类型,单值还是多值以及匹配规则等。后面用具体的例子来说明。

Syntax

syntax是LDAP中的“语法”,其实就是LDAP中会用到的数据类型和数据约束,这个语法是遵从X.500中数据约束的定义的。其定义需要有一个ID(遵从X.500)以及说明(DESP)

Matching Rules

是用来指定某属性的匹配规则,实际上就是定义一个特殊的Syntax的别名,让LDAP服务器可以识别,并对定义的属性进行匹配。

Schema Files

OpenLDAP随附了一些schema,在/usr/local/etc/openldap/ chema目录中

文件说明
core.schemaOpenLDAP core (required)
cosine.schemaCosine 和 Internet X.500
inetorgperson.schema在添加账号时,额外的objectClass.
misc.schema
nis.schema网络信息服务(FYI),也是一种集中账号管理实现.
openldap.schemaOpenLDAP Project(experimental)
dyngroup.schema定义组时使用的schema,包括要使用sudo.schema时,也需要它
ppolicy.schema需要做密码策略时,需要导入此schema
sudo.schema定义sudo规则
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hermokrates

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值