Inheritance LDAP模式和树结构

Inheritance LDAP模式和树结构,inheritance,schema,ldap,hierarchical-data,openldap,Inheritance,Schema,Ldap,Hierarchical Data,Openldap,LDAP如何定义哪些实体可能是树中的位置 我注意到OpenLDAP阻止我将“可引导设备”放在“organizationalUnit”之下,而不是“inetOrgPerson”。从逻辑上讲,这是有道理的,但这在LDAP模式中是如何实现的?在我的理解中,在openLDAP中,evey nod被视为每个nod的容器。您注意到OpenLDAP阻止您将可引导设备放置在组织单元下面。事实上,如果您查看模式文件中的bootableDevice,您将看到它是一个辅助类 objectClasses: ( 1.3.

LDAP如何定义哪些实体可能是树中的位置


我注意到OpenLDAP阻止我将“可引导设备”放在“organizationalUnit”之下,而不是“inetOrgPerson”。从逻辑上讲,这是有道理的,但这在LDAP模式中是如何实现的?

在我的理解中,在openLDAP中,evey nod被视为每个nod的容器。您注意到OpenLDAP阻止您将
可引导设备
放置在
组织单元
下面。事实上,如果您查看模式文件中的
bootableDevice
,您将看到它是一个
辅助类

objectClasses: ( 1.3.6.1.1.1.2.12 NAME 'bootableDevice'
  DESC 'A device with boot parameters' SUP top AUXILIARY
  MAY ( bootFile $ bootParameter ) )
所以你不能实例化一个
辅助类。您可以实例化一台
计算机
并向其添加一个
辅助
类,以便对
计算机
对象中的
可引导设备
属性进行优化

以下是一个例子:

在其他目录(如Active Directory)中,树部分是在模式中设计的。每个类都有一个可以包含它的类的列表


JP

@JPBlanc给出了解决原始技术问题的正确答案

但对于记录,这里是主要问题的答案:

LDAP如何定义哪些实体可能是树中的位置

LDAPv3规范规定了定义树结构和可能的属性以形成条目的RDN。
但是,OpenLDAP 2.4.x版之前的版本并未实现此功能。

此列表称为包含。它们里面有规则,有树。这就是为什么AD树以dc=something开头,因为dc对象可以包含旧NT样式域可以包含的几乎所有内容。严格来说,“包含”是MS AD特有的,不适用于此上下文。