章 25. LDAP — 一種目錄服務

內容目錄

25.1. LDAP 與 NIS 的比較
25.2. LDAP 目錄樹的結構
25.3. 使用 slapd.conf 來設定伺服器
25.4. LDAP 目錄中的資料處理
25.5. YaST LDAP 用戶端
25.6. 在 YaST 中設定 LDAP 使用者和群組
25.7. 如需詳細資訊

摘要

「輕量型目錄存取協定」(Lightweight Directory Access Protocol,LDAP) 是通訊協定集合用以存取和維謢資訊目錄。LDAP 可做為許多用途,像是使用者與群組管理、系統組態管理或是位址管理。本章針對 OpenLDAP 如何運作以及如何使用 YaST 來管理 LDAP 資料提供基本的概念。雖然 LDAP 協定有數種執行方式,但是本章只著重於 OpenLDAP 執行方式。

在網路環境中保持重要資訊的結構性和容易存取是相當重要的。要達到此一目的,可使用黃頁之類的目錄服務,它會以結構良好並且快速搜尋的形式來保存資訊以供存取。

在理想的狀況下,中央伺服器會將資料保存在目錄中,並使用特定的協定將資料分送給所有用戶端。資料的結構允許各種不同的應用程式進行存取。如此,個別的行事曆工具和電子郵件用戶端就不需要維護自己的資料庫,而是存取一個中央儲存區。此一特性明顯降低管理資訊的需要。使用 LDAP 等開放且標準化的協定,以盡量確保所有不同的用戶端應用程式都能存取這類的資訊。

此處所指的目錄是一種最佳化的資料庫,可供快速而有效的讀取和搜尋:

LDAP 這類的目錄服務並不是設計來支援複雜的更新或查詢。所有的應用程式在存取這種服務時,都應該以快速簡便的方式進行。

許多目錄先前即已存在,而且現在仍存在於 Unix 內和 Unix 外。Novell NDS、Microsoft ADS、Banyan 的 Street Talk 和 OSI 標準的 X.500 是其中的幾個例子。LDAP 原先的設計只是 DAP 的簡易版。DAP 是一個目錄存取協定,可用來存取 X.500。X.500 標準負責管理目錄項目的階層組織。

LDAP 是 DAP 的精簡版。在不失去 X.500 項目階層的前提下,擁有 LDAP 跨平台功能並節省資源。由於使用 TCP/IP,使得在擴充應用程式和 LDAP 服務之間建立介面的工作變得更加容易。

然而 LDAP 的功能已經提昇。在愈來愈多的使用中,LDAP 已不需要 X.500 的支援而可作為獨立的解決方案使用。LDAP 支援使用 LDAPv3 (openldap2 套件中的協定版本) 的轉介,此一特性使它能夠具備實作分散式資料庫。SASL (簡單驗證及安全性階層) 的使用也是一項新嘗試。

LDAP 超越其原始設計,其用途不限於查詢 X.500 伺服器的資料。slapd 開放來源伺服器可將物件資訊儲存在本地資料庫。另外有一個稱為 slurpd 的延伸套件,負責複製多個 LDAP 伺服器。

openldap2 套件包含:

slapd

是一個獨立的 LDAPv3 伺服器,用來管理 BerkeleyDB 架構資料庫中的物件資訊。

slurpd

此程式可將本地 LDAP 伺服器中的資料變更複製到其它安裝在網路中的 LDAP 伺服器。

其它系統維護工具

slapcatslapaddslapindex


25.1. LDAP 與 NIS 的比較

Unix 系統管理員習慣使用 NIS 伺服器進行名稱解析和網路資料散佈。/etc 中的檔案所包含的組態資料,以及 grouphostsmailnetgroupnetworkspasswdprintcapprotocolsrpcservices 等目錄中所包含的組態資料,都是由網路中的用戶端散佈。因為這些檔案是簡單的文字檔,因此相當容易維護。不過,因為缺乏結構,較大量的資料處理變得更加困難。NIS 的設計只適用於 Unix 平台,這意味著它不適合做為異質性網路的中央資料管理工具。

和 NIS 不同,LDAP 伺服器不限於純 Unix 網路。Windows 伺服器 (2000 或更新) 支援 LDAP 的目錄服務功能。Novell 也提供 LDAP 服務。其它非 Unix 系統也可為前述應用程式工作提供更多支援。

LDAP 規則可套用於任何必須進行中央管理的資料結構。以下為幾個應用程式範例:

  • 作為 NIS 服務的替代品使用

  • 郵件路由 (postfix、sendmail)

  • 郵件用戶端的通訊錄,例如 Mozilla、Evolution 和 Outlook

  • BIND9 名稱伺服器的區域描述管理

  • 在異質網路中,利用 Samba 進行使用者驗證

這個清單還可加長,因為 LDAP 是可以延伸的,和 NIS 有所不同。由於清楚定義的資料階層結構可方便搜尋,使得管理大量資料的工作更為容易。