通常查询 OpenLDAP 服务器我使用以下查询
ldapsearch -x -H ldap://host -b dc=domain,dc=com uidNumber=4158
但最近我看到了另一种查询方式
ldapsearch -x -H ldap://host -b o=domain.com uidNumber=4158
什么是“o=”格式,我应该如何配置我的 LDAP 服务器来使用它?
谢谢!
通常查询 OpenLDAP 服务器我使用以下查询
ldapsearch -x -H ldap://host -b dc=domain,dc=com uidNumber=4158
但最近我看到了另一种查询方式
ldapsearch -x -H ldap://host -b o=domain.com uidNumber=4158
什么是“o=”格式,我应该如何配置我的 LDAP 服务器来使用它?
谢谢!
这是 OSI X.500 目录格式,其出现时间远早于。目录
dc=
的原始结构应该是这样的:...每个国家的子树都委托给某种国家目录服务器。命名格式不是基于 DNS 的,因为 X.500本身旨在成为 OSI 网络的“DNS”,而整个 OSI 协议套件是互联网协议的直接竞争对手。
换句话说,该
O
属性标识的是公司或其他组织的名称,而不是域名。(虽然没有什么可以阻止你在那里放置域名,但这并不是它的真正用途。)如今,由于 Active Directory 的影响(让每个人都认为
dc
这是唯一的方法),它在 LDAP 中很少使用,但您仍然可以[blah], O=Foo, C=US
在 TLS 证书上看到它 - 在 S/MIME 证书上更是如此 - 因为它们的 X.509 格式直接是 LDAP 所源自的 X.500 目录系统的一部分。OpenLDAP 没有特殊配置来使用此格式(除了在模式中具有此属性)——您实际上将其指定
o=Widgets Inc.
为您的数据库后缀。虽然原始示例具有国家属性(“o=Foo,c=XX”),但在 LDAP 中这是完全可选的,您可以直接使用“o=Foo”作为后缀。
定义数据库后,第二步通常是至少用顶层对象填充它(使用 slapadd 或 ldapadd)。这也像往常一样工作,当然,您需要将其创建为 而
objectClass: organization
不是“域”。然而,这个决定需要在创建数据库时做出;之后更改 DB 后缀通常意味着转储和重新加载(slapcat、recreate、
sed
dump、slapadd)。(可能可以设置一个“代理”后端,让您可以通过两个不同的后缀访问同一个数据库,但这需要手动设置。没有从“o=abc”到“dc=a,dc=b,dc=c”的自动翻译。)