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