到目前为止,我的目录体验最初是Novell的NDS和eDirectory,最近是MS Active Directory,但现在我现在必须直接使用ldap(Zimbra上的OpenLdap 2.4。)
我对ldap中的命名感到有些困惑,我真的无法在众多谷歌搜索中找到我想要的东西:
在eDir和AD中,当一个对象标有cn=
时,它是一个叶子对象,而标有ou=
的对象是一个容器对象。但在ldap中似乎并非如此。
对于instace,让我们说我想在我的dit中列出已安装的模式,我可以使用命令:
ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b cn=schema,cn=config dn
返回的结果是:
dn: cn=schema,cn=config
dn: cn={0}core,cn=schema,cn=config
dn: cn={1}cosine,cn=schema,cn=config
dn: cn={2}nis,cn=schema,cn=config
dn: cn={3}inetorgperson,cn=schema,cn=config
是否有文档解释为什么明确容器对象的对象schema
和config
仍标记为cn
?或者,有人可以向我解释何时在容器对象上使用cn
标签,而不是ou
标签?
也许这是我刚从亚马逊订购的一本书中记录的,"来自亚马逊的R. Voglmaier的LDAP" 的ABC。它应该在下周某个时候到达。
答案 0 :(得分:1)
叶子和非叶子与它无关。
你通常会期望一个OU的对象是一个非叶子,一个人是一个叶子,但它没有固有的东西。
答案 1 :(得分:0)
我可以理解你的困惑,因为OpenLDAP的配置分支是一个特殊的东西,你花了最复杂的东西去尝试理解它。
要记住我们的一件事,一个条目的对象类(我总是试图避免将它们称为“离开”或“容器”)来定义OU或CN是否应该或者可以是它的属性。根据设置的对象类,可能(不一定有用)在条目中具有两个属性。
因此,如果您想知道是否使用CN或OU,请查看objectclass。
按照惯例,OU用于描述OrganizationalUnit,如大型组织内的部门,而CommonName可用于任何事物。当您正在寻找并尝试理解LDAP的配置部分中的LDAP信息时,实际上并没有任何组织单位可用。因此没有定义OU。
我试图避免那些“叶子”和“容器”命名,因为它意味着容器只是没有附加信息的事物的集合,在LDAP中可能不是这种情况。 “容器”可能具有比“存储在内部”条目更多的可用属性。
O'Reilly还有一本关于LDAP管理的好书,可能很有趣。
希望有所帮助。