設計LDAP目錄樹

2021-04-08 23:03:17 字數 4058 閱讀 7302

設計ldap目錄樹

ldapchina序言:這篇文章是作者michael donnelly是ldap系列文章的第二篇,同《介紹ldap》一文一樣,本篇文章也在網際網路上流行很廣,感謝網友beta xmu/grind翻譯此文。 乍看之下,設計乙個ldap伺服器的目錄拓撲好像是很麻煩的事。但是只要預先計畫一下,那這件事就變得相對簡單了。此文中,我們將分別討論每個你必須考慮的主題:

什麼是目錄樹?它們看起來像什麼?

選擇你的目錄的基準dn

乙個目錄樹的例子

規劃你的目錄拓撲

這是為sendmail.net關於ldap這個話題的一系列文章中的第二篇。這個系列作為乙個整體將為帶著你從「只是看一下」到配置乙個可以應用和服務的目錄的ldap基礎集的整個過程。這個系列的其它文章可以在http://www.ldapchina.com/beginning上找到。你可以看一下《介紹ldap》的第一和第二部分。

簡單來說,乙個目錄樹就是乙個規定儲藏各種不同型別資訊的容器的組織方法。你可以把它看做是你的資料的歸檔系統。

ldap目錄伺服器分層儲存著它們的資訊,和unix的檔案系統很像。這些層次規定從邏輯上把一定條目的資訊分組(或者劃分子組)。這些組在許多情況下很有用:

參考下面這個非常簡單的目錄樹的例子。我將任何無關的資訊都拿掉了,這樣我們就能夠把注意力集中在樹的本身。

在最上層,我們有個root,這是每個目錄樹的起點。root下面的是兩個類別,每個下面還有兩個子類別。注意employees是按照部門分的,customers是按照地區分的。如何分組是沒有限制的。雖然我在這裡只是每層顯示了兩個組,但是如果你需要的話,你的目錄裡的任何一層裡面都可以有許多組。

在開始之前,我要說這裡沒有一種正確的方法來設定目錄結構。你選擇的設計可能看起來和其它你看到的相似,下次就可能差別很大。你如果想測試你的目錄樹的設計,這裡有個主要的標準:是否有效的適合你當前的和計畫的需要?如果是,你就是正確的。

目錄的最頂層,即上面提及得目錄樹的root,是目錄樹的基準,也就是所謂的基準標識名(base distinguished name),或者基準dn(base dn)。原則上,你可以選擇你的基準dn的格式,我推薦乙個當前最流行的格式(你可能需要借這個機會更新對改變基準dn格式的記憶)。

追溯到2023年,rfc2247把dns網域名稱編碼作為ldap(和x.500)的標識名的基礎。從那時起,越來越多的地方使用這種格式。如果你正在計畫整合microsoft active directory,這是你唯一能使用的方法,所以不要為選擇操心了――redmond已經為你做好了這個選擇。

這種格式是非常簡單的。讓我們假設你的公司的intenet網域名稱是foobar.com。rfc2247把這個dns網域名稱轉換為下面的dn:

dc=foobar,dc=com

這個dc指「domain component」,注意dns名字的每個部分都按順序描述。

那麼你的基準dn是什麼呢?假設你公司的internet網域名稱以.com結尾,你最好的選擇是dc=com。如果你的internet網域名稱以.net結尾,那麼基準dn使用dc=net。知道這個方法了嗎?如果你公司現在或者將來都不會上網,那你可以選擇dc=local。

在基準dn下面,你就有乙個和你dns網域名稱剩下部分相應的條目。例如,foobar.com的上幾層看起來就像這樣:

讓我們假設foobar.com公司準備與wocket.com和gizmo.com合併。沒問題!感謝你的先知先覺,你的目錄結構可以適應在公司命運中的突然變化。你只需要簡單的在dc=com下面加入dc=work和dc=gizmo條目。那麼你目錄的上幾層就像這樣:

你初始的目錄結構越好,以後需要重新修補的就越少。通常來說,你設計你的目錄要保證個別的條目不必從一棵樹移到另乙個棵。你可能會發現乙個分布均勻層次較淺的結構工作得最好,樹的每個分枝包含的物件根本不太可能移動很多。考慮下面的問題,乙個虛構的foobar.com的目錄樹。他們花一年時間分階段鋪開他們的ldap目錄,漸漸的基於ladp的服務越來越多。

注意每個分支是由ou=的形式組成,ou表示organizational unit,在以前x.500時,ou被用來描述你的公司的組織結構。你今天所做好的,但是每次公司部門結構改變時,你不得不重新組織你的目錄樹,為什麼要給自己帶來額外的工作呢?相反的,foobar採用了簡單的途徑:他們把工作關係,部門資訊,和類似的資料儲存在每個雇員的ldap條目裡。他們依然儲存了同樣的資料,但是少了很多任務作。

ou=employees

foobar.com的所有員工都這裡列出。既然隨著時間的改變分組方案不可避免要改變,foobar控制住了任何形式的企圖把這個分組方案改變成小組的趨勢:人們改變了職位,部門,甚至從乙個洲到另乙個洲。取而代之,每個員工的位置,部門和公司分配資訊都被儲存在員工的ldap條目裡,包括email,公共hr資訊,和nis資訊。

ou=itaccounts

當foobar.com把nis password和mail路由資訊都放到ldap裡時,那將會有一點困惑。你如何處理諸如root,nobody,www等賬號呢?像這些的it accounts共享了許多與員工賬號相同的屬性(密碼,uid和gid,email位址,等等)但是和一般人們有根本上的不同。(你上次是什麼時候查詢root的**號碼?)為了保持員工資訊的唯一性,他們建立乙個特別的ou來存放這種賬號。ldap連線控制可以防止非it職員讀到這些資料。

ou=customers

foobar.com把他們的顧客聯絡資訊放到ldap目錄裡。這樣每個雇員都可以查詢這個目錄來找到顧客的銷售報告,支援聯絡資訊,等等。很少有顧客從乙個洲移到另乙個洲。

當公司成長時,他們可能希望把地域性的伺服器之間的資訊做個拷貝。因為他們已經把客戶的資訊分到各個小組裡去,所以他們能整理這個拷貝來適應每個站點的銷售人員的需要。

ou=locations

常常想知道你new york辦公室的位址嗎?或者是「coffe stain conference romm」的**號碼?是不是常被人叫在上午10點去「scenic view」會議室開會,但你不知道怎麼樣去找到那個地方?

那麼,這樣事不會發生在foobar.com的員工身上,他們把所有有關他們的辦公室,會議室,和其它類似的資訊都放在ldap目錄裡。公司的基於ldap的**簿可以很快的很簡單的提取這些資訊。

ou=devices

foobar同時也決定把他們的計算機,印表機,和其它計算機裝置的資訊儲存在ldap裡面。這也讓他們的系統管理員可以把他們網路的每個裝置的主機名、ip位址、mac位址、當前使用者和組、標記、系列號、結構型號、作業系統名稱版本、位置和描述資訊都儲存在乙個地方。

乙個自定義的web gui允許系統管理員和公司的資產管理員輸入,修改和查詢這些資訊。一些自定義的指令碼可以用來直接從ldap產生dns和nis的主機對映。資產管理工具可以自動定時更新硬體資訊,這樣你不費吹灰之力也能保證這些資訊是最新的。

但是為什麼把所有路由器、交換機、印表機、個人電腦、蘋果機和unix系統資訊都放在乙個ou裡呢?因為他們都共享同型別的資訊。乙個unix伺服器和乙個印表機有很大不同,但是儲存這種型別的資訊在本質上是一樣的。如果有個問題:「給我所有windows pcs的列表」,他們就很容易通過os name來查詢到。

好的,但是如果是這樣的問題:「給我所有laptop的列表」?foobar.com實現了一些自定義的ldap屬性來讓他們來跟蹤每個裝置的「machine class」和「machine subclass」屬性,以提供他們所需要的粒度。「machine class」的值包括了netgear,printer,windows,mac,unix。「machine subclass」包括了router,switch,inkjet,laser,desktop,laptop,workstation,server。這些類和子類資訊的集合可以靈活和精確的在許多情況下跟蹤所有的網路裝置。

現在你可能想知道怎樣設計的自己的目錄了吧,讓我們來看乙個例子。在上面的例子裡,foobar.com用了五個主要的類別,ou=customers再分成子類。(記住,這只是乙個例子,對每個公司來說它不一定是最好的)。實際上,你可能想增加乙個類別來處理nis組的資訊,郵件列表資訊等等。

那麼那些ou適合你呢?我讓你看一下設計的過程。畢竟,你正在建立你的ldap伺服器來適應你自己情況的需要。上面的例子應該可以幫助你對如何組織你的資料有個感覺。這兒有一些比較廣泛的指導方針來幫助你完成這個過程:

這兒有一些你可能考慮存放在ldap目錄的資料物件的比較廣泛的指導方針。根據你的需要,每個都可以分成單獨的ou。

看起來很簡單吧?但是不要忽略了下面這些:

Ldap之活動目錄介紹二

執行 active directory 安裝嚮導將 windows 2000 server 計算機公升級為域控制器會建立乙個新域或者向現有的域新增其他域控制器。建立域控制器可以 建立網路中的第乙個域。在樹林中建立其他的域。提高網路可用性和可靠性。提高站點之間的網路效能。要建立 windows 200...

LDAP學習文件3 目錄服務的組成

目錄服務的組成 目錄服務就是按照樹狀資訊組織模式,實現資訊管理和服務介面的一種方法。目錄服務系統一般由兩部分組成 第一部分是資料庫,一種分布式的資料庫,且擁有乙個描述資料的規劃 第二部分則是訪問和處理資料庫有關的詳細的訪問協議。目錄服務與關係型資料庫不同的是,目錄不支援批量更新所需要的事務處理功能,...

許可權和歸屬 使用LDAP認證 家目錄漫遊

案例1 配置附加許可權 案例2 配置文件的訪問許可權 案例3 繫結到ldap驗證服務 案例4 配置ldap家目錄漫遊 1 案例1 配置附加許可權 1.1 問題 本例要求建立乙個某個組的使用者共享使用的目錄 home admins,滿足以下要求 此目錄的組所有權是 adminuser adminuse...