ldap基本dn_LDAP学习笔记 - 基础
LDAP協(xié)議
背景
X.400
X.500(X.519 DAP)
LDAP
1、在ITU制定X.400系列Email標(biāo)準(zhǔn)時(shí),標(biāo)準(zhǔn)制定者們發(fā)現(xiàn),需要一種通過(guò)網(wǎng)絡(luò)獲取通訊錄的標(biāo)準(zhǔn)化方法。這種通過(guò)網(wǎng)絡(luò)訪問(wèn)目錄服務(wù)的需求,推動(dòng)了X.500系列標(biāo)準(zhǔn)的開(kāi)發(fā),尤其是其核心標(biāo)準(zhǔn)X.519 DAP目錄訪問(wèn)協(xié)議。由于X.500標(biāo)準(zhǔn)嚴(yán)格遵循了OSI七層網(wǎng)絡(luò)架構(gòu),因此實(shí)現(xiàn)復(fù)雜,效率也成問(wèn)題,所以業(yè)界采用情況不理想。
2、IETF意識(shí)到X.500系列標(biāo)準(zhǔn)的問(wèn)題后,對(duì)DAP協(xié)議進(jìn)行了改造和簡(jiǎn)化提出了輕量級(jí)目錄訪問(wèn)協(xié)議LDAP。LDAP幾乎保留了所有的X.519標(biāo)準(zhǔn)要求的功能,但網(wǎng)絡(luò)協(xié)議選擇了最常用的TCP/IP協(xié)議。
概念
1、LDAP
輕量目錄訪問(wèn)協(xié)議(Lightweight Directory Access Protocol)的縮寫(xiě)�LDAP標(biāo)準(zhǔn)
實(shí)際上是在X.500標(biāo)準(zhǔn)基礎(chǔ)上產(chǎn)生的一個(gè)簡(jiǎn)化版本
2、目錄服務(wù)
什么是目錄服務(wù)?
目錄服務(wù)就是按照樹(shù)狀存儲(chǔ)信息的模式
目錄服務(wù)的特點(diǎn)? 目錄服務(wù)與關(guān)系型數(shù)據(jù)庫(kù)不同?
(1)目錄服務(wù)的數(shù)據(jù)類(lèi)型主要是字符型, 而不是關(guān)系數(shù)據(jù)庫(kù)提供的整數(shù)、浮點(diǎn)數(shù)、日期、貨幣等類(lèi)型
(2)目錄有很強(qiáng)的查詢(xún)(讀)功能,適合于進(jìn)行大量數(shù)據(jù)的檢索
但目錄一般只執(zhí)行簡(jiǎn)單的更新(寫(xiě))操作,不支持批量更新所需要的事務(wù)處理功能
(3)它主要面向數(shù)據(jù)的查詢(xún)服務(wù)(查詢(xún)和修改操作比一般是大于10:1),不提供事務(wù)回滾(rollback)機(jī)制.
(4)目錄具有廣泛復(fù)制信息的能力,適合于多個(gè)目錄服務(wù)器同步/更新
目錄是一組具有類(lèi)似屬性、以一定邏輯和層次組合的信息。常見(jiàn)的例子是通訊簿,由以字母順序排列的名字、地址和電話號(hào)碼組成。
目錄服務(wù)是一種在分布式環(huán)境中發(fā)現(xiàn)目標(biāo)的方法。目錄具有兩個(gè)主要組成部分:
第一部分是數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)是分布式的,且擁有一個(gè)描述數(shù)據(jù)的規(guī)劃。
第二部分則是訪問(wèn)和處理數(shù)據(jù)的各種協(xié)議。
目錄服務(wù)其實(shí)也是一種數(shù)據(jù)庫(kù)系統(tǒng),只是這種數(shù)據(jù)庫(kù)是一種樹(shù)形結(jié)構(gòu),而不是通常使用的關(guān)系數(shù)據(jù)庫(kù)。目錄服務(wù)與關(guān)系數(shù)據(jù)庫(kù)之間的主要區(qū)別在于:二者都允許對(duì)存儲(chǔ)數(shù)據(jù)進(jìn)行訪問(wèn),只是目錄主要用于讀取,其查詢(xún)的效率很高,而關(guān)系數(shù)據(jù)庫(kù)則是為讀寫(xiě)而設(shè)計(jì)的。
提示:目錄服務(wù)不適于進(jìn)行頻繁的更新,屬于典型的分布式結(jié)構(gòu)。
LDAP是一個(gè)目錄服務(wù)協(xié)議,目前存在眾多版本的LDAP,而最常見(jiàn)的則是V2和V3兩個(gè)版本,它們分別于1995年和1997年首次發(fā)布。
特點(diǎn)
LDAP的結(jié)構(gòu)用樹(shù)來(lái)表示,而不是用表格。
LDAP可以很快地得到查詢(xún)結(jié)果,不過(guò)在寫(xiě)方面,就慢得多。
LDAP提供了靜態(tài)數(shù)據(jù)的快速查詢(xún)方式。
LDAP不支持事務(wù)、不能進(jìn)行回滾。
Client/Server模型,支持分布式結(jié)構(gòu)。
LDAP是一種開(kāi)放Internet標(biāo)準(zhǔn),LDAP協(xié)議是跨平臺(tái)的Interent協(xié)議。
其中,對(duì)于Client/Server模型,Server 用于存儲(chǔ)數(shù)據(jù),Client提供操作目錄信息樹(shù)的工具,數(shù)據(jù)庫(kù)操作client用于對(duì)ldap server庫(kù)進(jìn)行操作。
(1)工具:ldapadd, ldapsearch,ldapdelete
實(shí)用client:用于將ldap server庫(kù)在實(shí)際工作中使用
(2)工具:radius+ldap, pam+ldap
這些工具可以將數(shù)據(jù)庫(kù)的內(nèi)容以文本格式(LDAP 數(shù)據(jù)交換格式,LDIF)呈現(xiàn)在您的面前。
認(rèn)證機(jī)制
基本認(rèn)證
通過(guò)用戶名和密碼進(jìn)行身份識(shí)別,又分為簡(jiǎn)單密碼和MD5密碼認(rèn)證
SASL(Simple Authentication and Secure Layer)
一種在網(wǎng)絡(luò)協(xié)議中用于認(rèn)證和數(shù)據(jù)安全的框架
SSL和TLS
分布式LDAP 是以明文的格式通過(guò)網(wǎng)絡(luò)來(lái)發(fā)送信息的,包括client訪問(wèn)ldap的密碼。TLS(SSL的后繼者,由OpenSSL 包)加密機(jī)制來(lái)解決這個(gè)問(wèn)題。
端口號(hào)
Ldap端口號(hào)(顯然提供分布式ldap)——389,636
[root@vmmac modules]# cat /etc/services | grep ldap
ldap 389/tcp 明文
ldap 389/udp 明文
ldaps 636/tcp # LDAP over SSL
ldaps 636/udp # LDAP over SSL
基本模型
LDAP的基本模型是建立在“條目”(Entry)的基礎(chǔ)上。一個(gè)條目是一個(gè)或多個(gè)屬性的集合,并且具有一個(gè)全局唯一的“可區(qū)分名稱(chēng)”(用dn表示)。與關(guān)系型數(shù)據(jù)(后面簡(jiǎn)稱(chēng)數(shù)據(jù)庫(kù))進(jìn)行類(lèi)比,一個(gè)條目相當(dāng)于數(shù)據(jù)庫(kù)中的一條記錄,而dn相當(dāng)于數(shù)據(jù)庫(kù)中記錄的關(guān)鍵字,屬性相當(dāng)于數(shù)據(jù)庫(kù)中的字段。
提示:dn必須是全局唯一的。
LDAP中,將數(shù)據(jù)組織成一個(gè)樹(shù)形結(jié)構(gòu),這與現(xiàn)實(shí)生活中的很多數(shù)據(jù)結(jié)構(gòu)可以對(duì)應(yīng)起來(lái),而不像設(shè)計(jì)關(guān)系型數(shù)據(jù)庫(kù)的表,需要進(jìn)行多種變化。例如,下圖就是一個(gè)樹(shù)形結(jié)構(gòu)的數(shù)據(jù)。
目錄樹(shù)
1、在上圖所示的樹(shù)形結(jié)構(gòu)中,樹(shù)的根結(jié)點(diǎn)是一個(gè)組織的域名(dlw.com),其下分為3個(gè)部分,分別是managers、people和group,可將這3個(gè)組看作組織中的3個(gè)部門(mén),如managers用來(lái)管理所有管理人員,people用來(lái)管理登錄系統(tǒng)的用戶,group用來(lái)管理系統(tǒng)中的用戶組。當(dāng)然,在該圖中還可繼續(xù)增加其他分支。
2、對(duì)于上圖所示的樹(shù)形結(jié)構(gòu),使用關(guān)系數(shù)據(jù)庫(kù)來(lái)保存數(shù)據(jù)的話,需要設(shè)置多個(gè)表,一層一層分別保存,當(dāng)需要查找某個(gè)信息時(shí),再逐層進(jìn)行查詢(xún),最終得到結(jié)果。
3、若使用目錄來(lái)保存該圖中的數(shù)據(jù),則更直觀。圖中每個(gè)結(jié)點(diǎn)用一個(gè)條目來(lái)保存,不同類(lèi)型的結(jié)點(diǎn)需要保存的數(shù)據(jù)可能不同,在LDAP中通過(guò)一個(gè)稱(chēng)為objectClass的類(lèi)型來(lái)控制不同結(jié)點(diǎn)需要的數(shù)據(jù)(稱(chēng)為屬性)。
(1)用戶組可以配置
objectClass: posixGroup
objectClass: top
(2)用戶可以配置
objectClass: top
objectClass: posixAccount
objectClass: inetOrgPerson
4、對(duì)于目錄中的數(shù)據(jù)怎樣進(jìn)行引用呢?前面提到過(guò),每一個(gè)條目都有一個(gè)dn,因?yàn)閐n是唯一的,因此就可找到需要結(jié)點(diǎn)的數(shù)據(jù)。dn的構(gòu)造方式如下:
首先得到條目自己的名稱(chēng)(rdn,稱(chēng)為相對(duì)dn),然后開(kāi)始向上逐級(jí)查找父結(jié)點(diǎn),一直到根項(xiàng)為止。例如,對(duì)于上圖中最右下方的結(jié)點(diǎn),其dn為:
dn: cn=ldap, ou=group, o=dlw.com
通過(guò)這樣的方式,即可唯一標(biāo)識(shí)每一個(gè)結(jié)點(diǎn)。
在現(xiàn)實(shí)生活中,有很多這種樹(shù)形結(jié)構(gòu)的數(shù)據(jù),如計(jì)算機(jī)文件系統(tǒng)的目錄結(jié)構(gòu)、Internet中的域名等。這些類(lèi)型的數(shù)據(jù),只要不需要頻繁的更新,都適合用目錄來(lái)保存。
功能
在LDAP的功能模型中定義了一系列利用LDAP協(xié)議的操作,主要包含以下4部分:
查詢(xún)操作 :允許查詢(xún)目錄和取得數(shù)據(jù),其查詢(xún)性能比關(guān)系數(shù)據(jù)庫(kù)好。
更新操作 :目錄的更新操作沒(méi)關(guān)系數(shù)據(jù)庫(kù)方便,更新性能較差,但也同樣允許進(jìn)行添加、刪除、修改等操作。
復(fù)制操作 :前面也提到過(guò),LDAP是一種典型的分布式結(jié)構(gòu),提供復(fù)制操作,可將主服務(wù)器的數(shù)據(jù)的更新復(fù)制到設(shè)置的從服務(wù)器中。
認(rèn)證和管理操作 :允許客戶端在目錄中識(shí)別自己,并且能夠控制一個(gè)會(huì)話的性質(zhì)。
OpenLDAP
LDAP協(xié)議的自由和開(kāi)源的實(shí)現(xiàn)。
并不包括后臺(tái)數(shù)據(jù)庫(kù)存儲(chǔ),OpenLDAP配合Berkeley DB可使其讀操作的效率得到很大提高。
Berkeley DB是一個(gè)開(kāi)源的文件數(shù)據(jù)庫(kù),介于關(guān)系數(shù)據(jù)庫(kù)與內(nèi)存數(shù)據(jù)庫(kù)之間,使用方式與內(nèi)存數(shù)據(jù)庫(kù)類(lèi)似,它提供的是一系列直接訪問(wèn)數(shù)據(jù)庫(kù)的函數(shù),而不是像關(guān)系數(shù)據(jù)庫(kù)那樣需要網(wǎng)絡(luò)通訊、SQL解析等步驟。
安裝
通過(guò)下載tar包,解壓編譯安裝
通過(guò)掛載方式,yum,zypper安裝
配置
配置slapd.conf
--了解LDAP Schema
配置LDIF文件
--LDIF文本條目格式
--了解objectClass
--了解Attribute
--創(chuàng)建LDIF文件
總結(jié)
以上是生活随笔為你收集整理的ldap基本dn_LDAP学习笔记 - 基础的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: app式成语_疯狂的成语app
- 下一篇: mysql mydump还原_用mydu