內容目錄
摘要
「輕量型目錄存取協定」(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 套件包含:
是一個獨立的 LDAPv3 伺服器,用來管理 BerkeleyDB 架構資料庫中的物件資訊。
此程式可將本地 LDAP 伺服器中的資料變更複製到其它安裝在網路中的 LDAP 伺服器。
slapcat、slapadd、slapindex
Unix 系統管理員習慣使用 NIS 伺服器進行名稱解析和網路資料散佈。/etc 中的檔案所包含的組態資料,以及 group、hosts、mail、netgroup、networks、passwd、printcap、protocols、rpc 和 services 等目錄中所包含的組態資料,都是由網路中的用戶端散佈。因為這些檔案是簡單的文字檔,因此相當容易維護。不過,因為缺乏結構,較大量的資料處理變得更加困難。NIS 的設計只適用於 Unix 平台,這意味著它不適合做為異質性網路的中央資料管理工具。
和 NIS 不同,LDAP 伺服器不限於純 Unix 網路。Windows 伺服器 (2000 或更新) 支援 LDAP 的目錄服務功能。Novell 也提供 LDAP 服務。其它非 Unix 系統也可為前述應用程式工作提供更多支援。
LDAP 規則可套用於任何必須進行中央管理的資料結構。以下為幾個應用程式範例:
作為 NIS 服務的替代品使用
郵件路由 (postfix、sendmail)
郵件用戶端的通訊錄,例如 Mozilla、Evolution 和 Outlook
BIND9 名稱伺服器的區域描述管理
在異質網路中,利用 Samba 進行使用者驗證
這個清單還可加長,因為 LDAP 是可以延伸的,和 NIS 有所不同。由於清楚定義的資料階層結構可方便搜尋,使得管理大量資料的工作更為容易。