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
實際的查詢順序是
- DC=COM
- DC=jumpcloud
- OU=Users
- CN=cwikius
最高一級的路徑在最後面,如果理解為檔案系統的查詢路徑的話就是:
COM/jumpcloud/Users/cwikius
最後的 CN=cwikius 可以理解為一個具體的檔案,只是這個檔案沒有字尾罷了。
如上圖類似的一個結構。