LDAP 中 CN, OU, DC 的含義

很多人雖然會使用dsadd等命令添加用戶,但是dsadd的命令說明裏面並沒有涉及到dc,cn,ou的含義,很多人都不明白,這裏是微軟的技術支持人員的回信,希望對大家有幫助。
CN, OU, DC 都是 LDAP 連接服務器的端字符串中的區別名稱(DN, distinguished name)
LDAP連接服務器的連接字串格式爲:ldap://servername/DN
其中DN有三個屬性,分別是CN,OU,DC
LDAP是一種通訊協議,如同HTTP是一種協議一樣的!
在 LDAP 目錄中,

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

LDAP 目錄類似於文件系統目錄。

下列目錄:
DC=redmond,DC=wa,DC=microsoft,DC=com
如果我們類比文件系統的話,可被看作如下文件路徑:
Com\Microsoft\Wa\Redmond

例如:CN=test,OU=developer,DC=domainname,DC=com
在上面的代碼中 cn=test 可能代表一個用戶名,ou=developer 代表一個 active directory 中的組織單位。這句話的含義可能就是說明 test 這個對象處在domainname.com 域的 developer 組織單元中。

什麼是LDAP?LDAP是什麼意思?

LDAP是英文Lightweight Directory Access Protocol的縮寫,即輕型目錄訪問協議。它是一個訪問在線目錄服務的協議。

什麼是目錄?
LDAP目錄中可以存儲各種類型的數據:電子郵件地址、郵件路由信息、人力資源數據、公用密匙、聯繫人列表,等等。

最新版本的LDAP協議由RFC 4511所定義。它是基於X.500標準的,但是簡單多了,並且可以根據需要定製。與X.500不同,LDAP支持TCP/IP,這對訪問Internet是必須的。LDAP的核心規範在RFC中都有定義,所有與LDAP相關的RFC都可以在LDAPman RFC網頁中找到。

LDAP最基本的形式是一個連接數據庫的標準方式。該數據庫爲讀查詢作了優化。因此它可以很快地得到查詢結果,不過在其它方面,例如更新,就慢得多。要特別注意的是,LDAP通常作爲一個hierarchal數據庫使用,而不是一個關係數據庫。因此,它的結構用樹來表示比用表格好。正因爲這樣,就不能用SQL語句了。

簡單說來,LDAP是一個得到關於人或者資源的集中、靜態數據的快速方式。LDAP是一種特殊的數據庫。但是LDAP和一般的數據庫不同,明白這一點是很重要的。 LDAP對查詢進行了優化,與寫性能相比LDAP的讀性能要優秀很多。

LDAP的存儲規則

  • 區分名(DN,Distinguished Name)

和自然界中的樹不同,文件系統/LDAP/電話號碼簿目錄的每一片枝葉都至少有一個獨一無二的屬性,這一屬性可以幫助我們來區別這些枝葉。

在文件系統中, 這些獨一無二的屬性就是帶有完整路徑的文件名。比如/etc/passwd,該文件名在該路徑下是獨一無二的。當然我們可以有/usr/passwd, /opt/passwd,但是根據它們的完整路徑,它們仍然是唯一的。

在LDAP中,一個條目的區分名稱叫做“dn”或者叫做區分名。在一個目錄中這個名稱總是唯一的。比如,我的dn是”uid=aghaffar, ou=People, o=developer.ch”。不可能有相同的dn,但是我們可以有諸如”uid=aghaffar, ou=Administrators, o=developer.ch”的dn。這同上面文件系統中/etc/passwd 和 /usr/passwd的例子很類似。它們有獨一無二的屬性,在”ou=Administrators, o=developer.ch” 中uid和在”ou=People, o=developer.ch”中的uid。這並不矛盾。

  • CN=Common Name 爲用戶名或服務器名,最長可以到80個字符,可以爲中文;
  • OU=Organization Unit爲組織單元,最多可以有四級,每級最長32個字符,可以爲中文;
  • O=Organization 爲組織名,可以3—64個字符長
  • C=Country爲國家名,可選,爲2個字符長

LDAP目錄以一系列“屬性對”的形式來存儲記錄項,每一個記錄項包括屬性類型和屬性值(這與關係型數據庫用行和列來存取數據有根本的不同)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章