LDAP 中 DN CN DC OU

DN 的英文名称是(distinguished name),直接翻译过来就是专有名称。

简单的就可以理解为一个路径就对了。

这个路径可以指到 OU ,也可以指到 CN。

其中 DN 有三个属性,分别是CN,OU,DC。

  • DC (Domain Component)
  • CN (Common Name)
  • OU (Organizational Unit)
  • O (Organization Name)

O 是可选项,有时候你不一定能够看得到。

下面是 X.500 的属性列表:

String X.500 AttributeType

CN      commonName
L       localityName
ST      stateOrProvinceName
O       organizationName
OU      organizationalUnitName
C       countryName
STREET  streetAddress
DC      domainComponent
UID     userid

可以理解成 DC 是最高的,叫做域名,基本上所有的 ldap 服务都会至少有一个 DC。

在 DC 下一级就会有一个 OU,OU 可以理解为一个组织单元,我们可以有多个组织单元。你可以在组织单元中组织用户组,也可以在组织单元中组织用户,你还可以在组织单元中组织组织单元。

在 OU 下面就是 CN 了,可以理解是 CN 就是一个具体的实例了,比如说一个具体的用户。

所以要定位一个实例,那么路径就是 CN - OU - DC

你可能会有多个 OU,多个 DC,但是最后都会定位到最高一级的 DC

这长串字符串放到一起,就是 DN 了。

组织顺序

这个组织顺序是逆序的。

举例来说,下面的 DN:

CN=cwikius,ou=Users,dc=jumpcloud,dc=com

实际的查找顺序是

  1. DC=COM
  2. DC=jumpcloud
  3. OU=Users
  4. CN=cwikius

最高一级的路径在最后面,如果理解为文件系统的查找路径的话就是:

COM/jumpcloud/Users/cwikius

最后的 CN=cwikius 可以理解为一个具体的文件,只是这个文件没有后缀罢了。

如上图类似的一个结构。