知識庫
LDAP服務器是什么?LDAP 是輕量級目錄訪問協議的簡稱(Lightweight Directory Access Protocol).用于訪問目錄服務。它是 X.500 目錄訪問協議的移植,但是簡化了實現方法。看到目錄服務器我的第一反應就是想到書的目錄和檢索功能,再就是圖書館的圖書放置,進而想到yahoo的在一開始的網站導航功能。
LDAP服務器:http://www.bxgb88.com/dedicated/hkcloud.html
一、什么是目錄服務,已經LDAP是什么?
目錄服務就是信息查詢服務,實際上是一個數據庫,在這個數據庫里面存儲了網絡資源的信息,包括資源的位置、管理。數據信息采用的樹狀的層次結構存儲。
含有目錄數據庫,提供給用戶查詢、使用信息的計算機就是目錄服務器。X.500是一套目錄服務標準,定義了一個機構在全局范圍內共享名稱和與名稱相關聯的數據。X.500采用層次結構,其中的管理域可以提供這些域內的用戶和資源信息,并定義了強大的搜索功能,因此查詢變得更簡單。由于X.500目錄服務協議過于復雜,因此開發了LDAP(輕量級的目錄訪問協議)。
LDAP目錄存儲和組織的基本數據結構稱為條目,每個條目都有唯一的標識符,并有一些屬性,就類似數據庫中每一行代表一條數據,并且有一項是唯一標識。但是LDAP比數據庫簡單很多,并且常用于查詢(也就是讀取),寫操作不常使用。
二、LDAP目錄服務和數據庫的區別:
1、目錄查詢操作比關系數據庫有更高的效率,但是更新效率比關系數據庫低
2、目錄不支持關系數據庫那樣的復雜查詢,比如兩個表的連接。
3、 目錄不支持多操作的事物完整性,沒有方式確認一些操作是全部成功還是全部失敗
4、目錄能夠更好和更靈活的支持子查詢和匹配查詢
5、 目錄協議更適合應用于廣域網,比如因特網或者大型公司的網絡
6、目錄的管理,配置,和調試比關系型數據庫更簡單
7、 在使用關系數據庫之前,必須首先定義表結構(模式)才可以進行操作。而目錄中所使用的模式是由 LDAP 定義好的一系列類組成的。對于目錄中的每條記錄中必須屬于其中的一個類或者多個類。這些類定義了該記錄中可以存儲的信息。
8、 目錄以對象的形式存儲數據。信息被組織成樹型結構。
9、目錄服務支持分布式存儲結構,容易實現數據的擴展,能滿足大容量存儲的要求。
10、ACL控制表對LDAP服務器中的數據進行安全管理。ACL是一種靈活方便的用戶訪問權限控制方法。LDAP 是一個標準的,開放的協議,具有平臺無關性。不會像關系數據庫之間互不兼容的問題。
三、ladp服務器四種模型:
1)信息模型:描述 LDAP 中信息的表達方式及數據的存儲結構
LDAP 信息模型包含三部分 Entries Attributes Values (條目 屬性 值)
Entry:Directry 中最基本的信息單元,Entry 中所包含的信息描述了現實世界中的一個真實的對象,在目錄系統中它可以理解為,目錄樹中的一個節點 。在目錄中添加一個 Entry 時,該 Entry 必須屬于一個或多個 object class ,每一個 object class 規定了該 Entry 中必須要包含的屬性,以及允許使用的屬性。Entry 所屬的類型由屬性 objectclass 規定。每一個 Entry 都有一個 DN(distinguished name) 用于唯一的標志 Entry 在directory 中的位置。RDN: 是目錄樹中節點的相對分辨名。如 :People節點的DN:ou=People,dc=example,dc=com而該節點的 RDN:ou=People。
Attribute: 每個 Entry 都是由許多 Attribute 組成的。每一個屬性(Attribute)描述的是對象的一個特征。
2)模型結構
命名模型:描述數據在LDAP目錄中如何進行組織與區分
3)層次結構
第一個節點 DN 命名為:dn:dc=example,dc=com
第二個節點 DN 命名為:dn:ou=People,dc=example,dc=com
第三個節點 DN 命名為:dn:uid=bjensen,ou=people,dc=example,dc=com
我們說每一個 Entry 的 DN 是唯一的,就是因為這種數形結構決定了,從根節點到其它任何一個節點的路徑是唯一的。
RDN:在 DN 中最左邊的內容稱為相對域名。如 ou=People,dc=example,dc=com其 RDN 為 ou=People對于共享同一個父節點的所有節點的 RDN 必須是唯一的。如果不屬于同一個節點則節點的 RDN 可以相同。
功能模型:定義了LDAP中有關數據的操作方式,類似于關系型數據庫SQL語句。