您可能已经熟悉分层命名约定的概念,这要归功于互联网的域名服务(DNS)。互联网上的每个组织都属于某个根域,例如 .org、.com、.info 等,但拥有自己唯一的域名,例如 example.com,并且可能拥有子域名,例如 marketing.example.com 和 support.example.com。这种方案通过电子邮件地址扩展到个人,每个地址都包含在组织内唯一用户名,并附加到组织的域名,例如 weasel@marketing.example.com。
从概念上讲,LDAP和X.500中的实体名称以相同的方式构建。 LDAP/X.500实体的全名,称为其专有名称(更正式地称为 distinguishedName 或 dn),也类似地由唯一实体名称和共享组织名称元素的唯一组合构成。例如,我在LDAP数据库中的专有名称可以表示为 cn=Mick Bauer,dc=linuxjournal,dc=com。 cn 是 common name(通用名称)的缩写,这是我的条目被索引的名称,dc 是 domain component(域组件)的缩写。
X.500/LDAP 有两种常用的组织名称(因此代表组织结构)的方法,其中一种只是标记 DNS 名称的一种花哨方式。另一种是传统的 X.500 约定,它基于地理位置。前一段中专有名称的传统 X.500 等效项可能是 cn=Mick Bauer, o=Linux Journal, l=Seattle, st=WA, c=US。
在本文中,我将坚持使用 DNS 风格的名称,因为这种较新的约定很流行,并且与更熟悉的 Internet DNS 在概念上(即使不是在外观上)相似。但是您应该记住两件事。首先,除非您打算将 LDAP 用于 DNS,这远远超出了本文的范围,否则从技术上讲,您组织 LDAP 数据库中选择使用的命名约定与您的本地 DNS 之间没有任何关系。虽然我建议您为了理智起见保持它们的一致性,但 LDAP 和 DNS 从技术上讲是两个独立的东西。因此,例如,如果您的组织的 Internet 域名是 sklablozzleflik.info,但您有某种理由将您的 LDAP 后缀更改为 sklablozzleflik.com(更准确地说是 dc=sklablozzleflik,dc=com),您可以自由地这样做。
其次,无论您选择哪种命名约定,即使您自己创建了一个,这在使用自定义 LDAP 模式是可能的,请记住使用命名标签和逗号而不是简单的点来分隔您的名称。例如,如果我的 Internet 域名是 wiremonkeys.org,那么我等效的 LDAP 域名将是 dc=wiremonkeys,dc=org。