Sun Java logo     上一章      目錄      索引      下一章     

Sun logo
Sun Java(TM) System Directory Server 5 2004Q2 管理指南 

第 1 章
Directory Server 管理概論

Directory Server 產品包含了管理多重目錄的 Directory Server、Administration Server,以及透過圖形介面管理兩個伺服器的 Server Console。本章提供關於 Directory Server 的概論資訊,以及您要啟動管理目錄服務所需的最基本工作。

本章所介紹的兩種 Directory Server 5.2 新增功能是 Plug-in 簽名和 DSML-over-HTTP 通訊協定。驗證 Plug-in 簽名是額外的安全性功能,讓伺服器可偵測或防止未經授權的 Plug-in 載入。Directory Server Markup Language (DSML) 是一種以 XML 為基礎的新格式,用於傳送要求給目錄伺服器。

本章包含下列章節:


備註

如果正在執行一個版本以上的 Directory Server,請注意本章中的所有範例都假設 Directory Server 5.2 是預設版本。如果不是這種情況,您必須執行一次下列指令,將 5.2 設定成預設版本:

# /usr/sbin/directoryserver -d 5.2

或在每次執行 directoryserver 指令以指定版本時加入 -useversion 選項,例如:

# /usr/sbin/directoryserver -useversion 5.2 start



Directory Server 管理概論

Directory Server 為穩定、具延展性的伺服器,設計來管理企業內的使用者和資源目錄。它是以稱為輕量型目錄存取通訊協定 (Lightweight Directory Access Protocol,LDAP) 的開放式系統伺服器通訊協定為基礎。Directory Server 會以 ns-slapd 處理程序或服務在您的機器上執行。伺服器會管理目錄內容並回應用戶端的要求。

您可透過 Sun Java System 提供協助您管理 Directory Server (和數種其他 Sun Java System 伺服器) 的第二伺服器,即 Administration Server,以執行大部分的 Directory Server 管理工作。Server Console 是 Administration Server 的圖形化介面;Directory Server Console 是 Server Console 的一部分,專門設計來搭配 Directory Server 使用。

您可以透過 Directory Server Console 執行大部分的 Directory Server 管理工作。您也可以利用編輯組態檔,或使用指令行公用程式手動執行管理工作。如需關於 Server Console 的詳細資訊,請參閱Administration Server Administration Guide


備註

如果正在使用 Directory Server 資料服務的 Sun Cluster HA,在管理 Directory Server 和來自指令行時,您必須使用 directoryserver(1M) 指令及其子指令。

請勿直接使用單獨的程序檔和二進位檔案碼。



啟動和停止 Directory Server

如果不使用安全通訊端階層 (Secure Sockets Layer,SSL),您可以利用列示於此處的方法啟動和停止 Directory Server。如果您使用 SSL,請參閱「啟動啟用 SSL 的伺服器」

從指令行啟動和停止伺服器

從指令行啟動和停止伺服器。執行下列指令:

 

# /usr/sbin/directoryserver -useversion 5.2 start

 

# /usr/sbin/directoryserver -useversion 5.2 stop

只有 Directory Server 5.2 不是預設版本時,才需要 useversion 選項。關於 directoryserver 指令的完整語法,請參閱《Directory Server Administration Reference》的 Chapter 1 "Command-Line Tools Reference"

這些指令必須作為根執行,如果:

否則,兩個指令必須與 Directory Server 相同的 UID 和 GID 一起執行。例如,如果 Directory Server 以 nobody 執行,則必須以 nobody 執行 startstop 公用程式。

關於 Directory Server 之前版本的使用者,請注意已無法在參照模式中啟動伺服器。您可以使用 Directory Server Console 設定全域參照。此程序在「設定預設參照」中有說明。

從主控台啟動和停止伺服器

Directory Server Console 正在執行時,您可以透過其圖形介面啟動、停止和重新啟動 Directory Server。如需執行主控台的說明,請參閱「啟動 Directory Server Console」

  1. 在 Directory Server Console 最上層的 [工作] 標籤上,按一下相應的 [啟動目錄伺服器]、[停止目錄伺服器] 或 [重新啟動目錄伺服器] 旁的按鈕。

當您成功地從 Directory Server Console 啟動或停止 Directory Server 時,主控台會

訊息對話,說明已經啟動伺服器或關閉伺服器。如發生錯誤,主控台將顯示有關該錯誤的所有訊息。


啟動啟用 SSL 的伺服器

啟用 SSL 之前,您必須在您的伺服器上安裝與配置憑證。如需管理憑證及啟用 SSL 的說明,請參閱第 11 章「管理驗證和加密」;如需關於憑證、憑證資料庫及取得伺服器憑證的資訊,請參閱《Administration Server Administration Guide》中的 Chapter 9 "Using SSL and TLS with Sun Java System Servers"

若要啟動已啟用 SSL 的伺服器,您必須從指令行啟動伺服器,而且提供保護伺服器憑證的密碼。

或者,您可以建立密碼檔案以儲存您的憑證密碼。透過將您的憑證資料庫密碼放置在檔案中,可以從伺服器主控台啟動伺服器,並且允許伺服器在無人執行時,自動重新啟動。


小心

在密碼檔案中是以純文字儲存該密碼,因此其使用代表了重大的安全性風險。如果您的伺服器是在不安全的環境中執行,則請勿使用密碼檔案。


密碼檔案必須放置在下列位置中:

serverRoot/alias/slapd-serverID-pin.txt

其中 serverID 是您在安裝時為伺服器指定的識別碼。

在檔案中包含安全 Token 的名稱及其密碼,如下:

deviceName Token:password

本範例顯示內部憑證資料庫的裝置名稱 (大小寫及空格必須完全依照如下顯示):

Internal (Software) Token:password

如果將憑證儲存在替代裝置上,請使用位在 [管理憑證] 對話方塊上方的下拉式功能表中的裝置名稱。若要建立憑證資料庫,您必須使用管理伺服器及 [憑證設定精靈]。如需關於 Directory Server 使用 SSL 的資訊,請參閱第 11 章「管理驗證和加密」


使用 Directory Server Console

Directory Server Console 是您以 Server Console 的單獨視窗存取的介面。您可按照下列程序所述,從 Server Console 啟動 Directory Server Console。

啟動 Directory Server Console

  1. 請檢查確認 Directory Server 常駐程式 slapd-serverID 正在執行中。若沒有,請以 root 或管理使用者身份輸入下列指令來啟動它:

     

    # /usr/sbin/directoryserver -useversion 5.2 start

  2. 請檢查確認管理伺服器常駐程式 ns-httpd 正在執行中。若沒有,請以 root 或管理使用者身份輸入下列指令來啟動它:

     

    # /usr/sbin/directoryserver -useversion 5.2 start-admin

  3. 輸入下列指令啟動 Server Console:

     

    # /usr/sbin/directoryserver -useversion 5.2 startconsole

  4. 如果要在不是安裝 Administration Server 的電腦執行 Server Console,可能需要依《Administration Server Administration Guide》Chapter 6 的 "Network Settings" 所述配置 Administration Server 上的連線限制。

    顯示 [主控台] 登入視窗。或者,如果您的組態目錄 (包含 o=NetscapeRoot 尾碼的目錄) 儲存在單獨的 Directory Server 實例中,則會顯示視窗,要求該目錄伺服器的系統管理員使用者 DN、密碼及 Administration Server 的 URL。

  5. 使用連結 DN 及使用者密碼登入,該使用者必須擁有充分的存取授權可執行您希望執行的作業。
  6. 顯示 Server Console。

  7. 在左面板的樹狀目錄中,瀏覽找尋您的 Directory Server 主機,然後按一下其名稱或圖示顯示其一般內容。
  8. 圖 1-1 Sun Java System Server Console
    Sun ONE Server Console

    若要編輯 Directory Server 名稱和描述,請按一下 [編輯] 按鈕。在文字方塊中輸入新的名稱和描述。按一下 [確定],設定新名稱和描述。名稱會顯示在左邊的樹狀目錄中,如上圖所示。

  9. 連按兩下樹狀目錄中的 Directory Server 名稱,或按一下 [開啟] 按鈕,顯示管理此目錄伺服器的 Directory Server Console。

瀏覽 Directory Server Console

Directory Server Console 提供介面,可在 Directory Server 實例上瀏覽及執行管理作業。此介面始終顯示四個標籤,可從其中存取所有 Directory Server 功能:

[工作] 標籤

開啟 Directory Server Console 時,[工作] 標籤是第一個顯示的介面。它包含所有主要管理工作的按鈕,諸如下圖所示的啟動或停止 Directory Server。若要檢視所有工作及其按鈕,您或許需要捲動清單。

圖 1-2 Directory Server Console 的 [工作] 標籤

Directory Server console 最上層的 [工作] 標籤含有啟動、重新啟動和停止目錄伺服器和其他功能的按鈕

為了執行這些工作,您必須以擁有系統管理員權限的使用者身份登入。權限不足的使用者無法看到 [工作] 按鈕。

[組態] 標籤

Directory Server Console 的 [組態] 標籤提供介面和對話方塊,用來檢視及修改所有目錄設定值,如尾碼、複製、結構、記錄及 Plug-in 設定值。只有在您以擁有系統管理員權限的使用者身份登入時,這些對話方塊才能夠使用或生效。

此標籤的左邊含有所有組態功能的樹狀目錄,而右邊則顯示專門用來管理各功能的介面。這些介面通常包含其他標籤、對話方塊或快顯功能視窗。例如,下圖顯示整個目錄的一般設定值。

圖 1-3 Directory Server Console 的 [組態] 標籤

Directory Server console 最上層的 [組態] 標籤顯示作為伺服器組態節點 [設定] 標籤的範例。

當您選擇左樹狀目錄中的可設定項目時,該項目目前的設定值會顯示在右面板的一或多個標籤中。如需這些設定值的說明和行為,請參閱本指南中描述各功能的章節。視設定的不同,某些變更在儲存時會立即生效,其他的則要等到重新啟動伺服器時才會生效。當伺服器必須重新啟動時,主控台將顯示對話方塊通知您。

標籤中未儲存的變更會在標籤名稱旁以紅色標記通知。即使您配置另一個項目或檢視其他主要標籤之一,標籤上還是會保持未儲存的變更。[儲存] 及 [重設] 按鈕可套用至指定可設定項目的所有標籤,但是不會影響其他項目的未儲存設定值。

大多數文字欄位只允許您輸入具有該設定之正確語法的值。依據預設,在語法正確以前,設定標籤與您輸入的值會以紅色反白顯示。在所有設定值均為有效語法前,[儲存] 按鈕會停用。您可以選擇用斜體字型代表反白顯示的錯誤值,如「視覺組態喜好設定」所述。

[目錄] 標籤

主控台的 [目錄] 標籤為了方便瀏覽,以樹狀目錄顯示目錄項目。在此標籤中,您可以瀏覽、顯示及編輯包含的所有項目和屬性。


備註

如果預計瀏覽數千個項目的清單,請建立瀏覽索引以便進行快速存取。如需指令,請參閱「主控台的瀏覽索引」


圖 1-4 Directory Server Console 的 [目錄] 標籤

Directory Server Console 最上層的 [目錄] 標籤顯示左面板中的樹狀目錄和右面板中的屬性值

如果登入時提供的連結 DN 具有充分的存取權限,則可以將組態項目視為一般項目來檢視,並且可以直接修改。但是,您應該始終使用透過 [組態] 標籤可用的對話方塊來安全變更組態設定值。

透過 [檢視] 功能表,有數個可用的選項可用來變更 [目錄] 標籤的佈局和內容。新佈局選項包括可檢視單一樹狀目錄中涵蓋葉項目在內的所有項目,而且也可以在右窗格中顯示屬性。預設是在右邊檢視葉項目,而非在左樹狀目錄中。

[檢視] > [顯示] 選項可啟用樹狀目錄中所有項目的 ACI 次數、角色次數及停用狀態圖示。在 圖 1-4 中,ACI 次數和葉項目顯示於左樹狀目錄中,而選擇項目的屬性值顯示於右窗格中。如需詳細資訊,請參閱「樹狀目錄檢視選項」

[狀態] 標籤

[狀態] 標籤顯示伺服器統計資料和日誌檔訊息。左樹狀目錄列出所有的狀態項目,在選擇時,各項目的內容會顯示在右窗格中。例如,下圖顯示日誌檔項目表。

圖 1-5 Directory Server Console 的 [狀態] 標籤

Directory Server console 最上層的 [狀態] 標籤顯示記錄檔內容的範例

從主控台檢視目前的連結 DN

您可以檢視用來登入 Directory Server Console 的 連結 DN,按一下位於顯示左下角的登入圖示即可。然後目前的連結 DN 會顯示於登入圖示旁,如此處所示:

顯示目前繫結 DN 的登入圖示

變更您的登入身份

當您從 Directory Server Console 建立或管理項目時,以及當您首次存取 Server Console 時,系統讓您提供連結 DN 及密碼選項,以登入主控台。如此可識別正在存取樹狀目錄的使用者,以決定需要授與執行作業的存取授權。

首次啟動 Server Console 時,您可以目錄管理員 DN 登入。在任何時候,您都選擇以不同的使用者身份登入,而不必先停止再重新啟動主控台。

若要在 Server Console 中變更您的登入:

  1. 在 Directory Server Console 上,請選擇 [工作] 標籤,然後按一下 [以新使用者登入目錄伺服器] 標籤旁的按鈕。或者,在另一個主控台標籤中時,請選擇 [主控台] > [登入為新使用者] 功能表項目。
  2. 顯示登入對話方塊。

  3. 請輸入新 DN 和密碼,然後按一下 [確定]。
  4. 請輸入您想要用來連結伺服器之項目的完整辨別名稱。例如,如果您想要以目錄管理員身份連結,則請在 [辨別名稱] 文字方塊中輸入下列 DN:

    cn=Directory Manager

以下章節,會進一步解說目錄管理員 DN 和密碼。

使用線上說明

線上說明為 Directory Server Console 的大部分標籤和對話方塊提供上下文相關資訊。[說明] 按鈕通常位在這些介面的右下角。若要在任何螢幕上啟動上下文相關說明,其鍵盤快速鍵始終為 Alt-P。

啟動線上說明會在主控台的內建瀏覽器中顯示 HTML 格式的頁面。您可以在這個頁面上按一下 [在瀏覽器中啟動] 按鈕,在外部瀏覽器 (如 Mozilla) 中顯示同一頁面。線上說明上有關詳細資訊的連結,也會開啟外部瀏覽器視窗。

每個線上說明頁會提供對應的標籤或對話方塊中所包含各欄位或按鈕的說明。當您透過主控台解釋、輸入或修改值時,這些資訊可以指引您。

Directory Server 的說明系統依存於 Administration Server。如果在 Administration Server 的遠端電腦上執行 Directory Server Console,您必須確認下列各項:

主控台剪貼簿

Directory Server Console 使用您的系統剪貼簿複製、剪下及貼上文字。若要減少輸入字元,當您在 [目錄] 標籤內瀏覽時,可以將項目的 DN 或 URL 複製到剪貼簿。

開啟必須在文字欄位中貼入 DN 或 URL 的對話方塊或另一個標籤之前:

  1. 在 Directory Server Console 最上層的 [目錄] 標籤上,瀏覽整個樹狀目錄,選擇 (按一下滑鼠左鍵) 要複製其 DN 或 URL 的項目。
  2. 然後選擇功能表中的 [編輯] > [複製 DN] 或 [編輯] > [複製 URL]。

主控台設定值

Directory Server Console 提供許多設定值,可自訂 [組態] 及 [目錄] 標籤中資訊的顯示方式。

視覺組態喜好設定

當您在最上層 [組態] 標籤上的欄位中修改組態參數與輸入值時,Directory Server Console 會使用彩色文字表示有效輸入。例如,如果啟用某項功能,該功能要求輸入進一步的組態值,則必要欄位的標籤會以紅色顯示,等您輸入有效值之後則會變成藍色。

依預設值,主控台使用紅色和藍色,但您可以依下列方式修改此行為:

  1. 在 Directory Server Console 的任意標籤上,選擇 [編輯] > [喜好設定] 功能表項目。在 [主控台喜好設定] 對話方塊中,選擇 [其他] 標籤。
  2. 選擇您喜好的視覺組態標記的單選按鈕。您可以選擇彩色的字型或字型外觀,或同時選擇兩者。
  3. 如需 [主控台喜好設定] 對話方塊的其他標籤上各項設定值的描述,請參閱《Administration Server Administration Guide》Chapter 2 的 "Customizing Server Consol"
  4. 然後按一下 [確定] 以儲存變更。

  5. 結束 Server Console 的所有視窗,再重新啟動。

樹狀目錄檢視選項

在 Directory Server Console 最上層的 [目錄] 標籤上,[檢視] 功能表的項目可讓您顯示樹狀目錄中的其他資訊,並可選擇右面板中顯示的內容。

下列 [檢視] 選項會影響 [目錄] 標籤的內容:


配置 LDAP 參數

LDAP 參數是目錄伺服器中的基本設定值,例如目錄管理員的辨別名稱 (DN)、全域唯讀設定、連接埠組態及能否追蹤所有目錄修改時間等。

配置目錄管理員

目錄管理員是有權限的伺服器系統管理員,相當於 UNIX 的 root 使用者。存取控制不會套用至您定義為目錄管理員的項目。您已在安裝過程中先定義了此項目。預設為 cn=Directory Manager

目錄管理員的 DN 儲存在 nsslapd-rootDN 屬性中,密碼儲存在 cn=config 分支的 nsslapd-rootpw 屬性中。

使用 Directory Server Console 變更目錄管理員 DN、密碼以及此密碼所使用的加密結構:

  1. 以目錄管理員身份登入主控台。
  2. 若您已經登入主控台,如需如何以不同使用者身份登入的說明,請參閱「變更您的登入身份」

  3. 在最上層的 [組態] 標籤上,選擇瀏覽樹狀目錄根部的伺服器節點,並在右面板中選擇 [設定值] 標籤。
  4. 在 [目錄管理員 DN] 欄位中輸入新的辨別名稱。預設值是安裝期間所定義的值。
  5. 從 [管理員密碼加密] 下拉式功能表中,選擇儲存結構,讓伺服器用來儲存目錄管理員的密碼。
  6. 請使用所提供的文字欄位,輸入新密碼並做確認。
  7. 按一下 [儲存]。

變更目錄伺服器連接埠號碼

您可利用 Directory Server Console 或變更 cn=config 項目下的 nsslapd-port 屬性值,修改使用者目錄伺服器的連接埠或安全連接埠號碼。

如果您想要修改包含 Sun Java System 組態資訊 (o=NetscapeRoot 樹狀子目錄) 的 Directory Server 連接埠或安全連接埠,可以透過 Directory Server Console 進行修改。

如果您變更組態目錄或使用者目錄連接埠或安全連接埠號碼,應該瞭解下列影響:

使用下列程序修改 Directory Server 在聆聽傳入 LDAP 要求時,所使用的連接埠或安全連接埠。若要修改 DSML 要求的連接埠,請參閱「配置 DSML」

  1. 在 Directory Server Console 最上層的 [組態] 標籤上,選擇含有伺服器名稱的根節點,然後在右面板中選擇 [網路] 標籤。
  2. 標籤顯示伺服器目前的 LDAP 通訊協定的連接埠設定值。

  3. 在 [連接埠] 欄位中輸入您要伺服器用於進行非 SSL 通訊的連接埠號碼。預設值是 389。
  4. 如果已依第 11 章「管理驗證和加密」所述在此伺服器上啟用 SSL,您可以允許安全連接埠上的連線:
    1. 選擇要使用安全連接埠和非安全連接埠的選項。
    2. 在 [安全連接埠] 欄位中輸入您要伺服器用於進行 SSL 通訊的連接埠號碼。預設值是 636。
    3. 您指定的加密連接埠號碼不可以與您用於一般 LDAP 通訊的連接埠號碼相同。

  5. 按一下 [儲存],然後再重新啟動伺服器。

如需資訊,請參閱「啟動和停止目錄伺服器」

設定全域唯讀模式

在您的目錄中,每一個尾碼都可以放置獨立的唯讀模式,而且如果定義了特定參照也可以傳回此參照。Directory Server 也提供可套用至所有尾碼的全域唯讀模式,而且當定義了全域參照時,也可以傳回此參照。

全域唯讀模式是設計來讓系統管理員防止在執行如重新編製尾碼的索引時,同時修改了目錄的內容。基於這個原因,全域唯讀模式不會套用至下列組態分支:

無論唯讀設定如何,「存取控制指令」(Access Control Instructions,ACI) 都應該保護這些分支,以防非管理使用者進行修改 (請參閱第 6「管理存取控制」)。全域唯讀模式可防止目錄中所有其他尾碼的更新作業,包括由目錄管理員啟動的更新作業。

如果啟用了唯讀模式,也會中斷尾碼上的複製。主機複本將不再變更任何複製,儘管它會持續複製在啟動唯讀模式前所作的所有變更。在停用唯讀模式前,用戶複本不會收到更新。多重主機複製藍本的主機不會變更任何複製,也無法收到其他主機的更新。

若要啟用或停用全域唯讀模式:

  1. 在 Directory Server Console 最上層的 [組態] 標籤上,選擇組態樹狀目錄中的根節點,然後在右面板中選擇 [設定值] 標籤。
  2. 選擇或取消選擇 [伺服器為唯讀] 核取方塊。
  3. 按一下 [儲存]。變更將立即生效。

如需關於將個別尾碼放置在唯讀模式的資訊,請參閱「設定尾碼唯讀模式」

追蹤目錄項目的修改

您可將伺服器配置成維護新近建立或修改項目的特殊屬性:

若要啟用 Directory Server 追蹤此資訊:

  1. 在 Directory Server Console 最上層的 [組態] 標籤上,選擇組態樹狀目錄中的根節點,然後在右面板中選擇 [設定值] 標籤。
  2. 選擇 [追蹤項目修改次數] 核取方塊。
  3. 伺服器會將 creatorsNamecreateTimestampmodifiersNamemodifyTimestamp 屬性加入至每一個新建或修改的項目。現有項目不會包含建立屬性。

  4. 按一下 [儲存],然後再重新啟動伺服器。
  5. 如需更多資訊,請參閱「啟動和停止目錄伺服器」


驗證 Plug-in 簽名

驗證 Plug-in 簽名是 Directory Server 5.2 的新增功能。Directory Server 所提供的 Plug-in 各有一個數位簽名,可在啟動時由伺服器予以驗證。依預設值,伺服器將會驗證 Plug-in 簽名,但無論簽名是否存在或有效與否,它都會載入每一個 Plug-in。

驗證簽名有下列優點:

配置 Plug-in 簽名的驗證

  1. 在 Directory Server Console 最上層的 [組態] 標籤上,選擇組態樹狀目錄中的 [Plug-in] 節點。目前的簽名驗證原則顯示在右面板中。
  2. 選擇下列其中一個選項:
    • 不要驗證 Plug-in 的簽名 - 伺服器組態中定義的所有 Plug-in,不論簽名如何都予以載入。不會因為 Plug-in 簽名而顯示任何警告或錯誤。
    • 標示含無效簽名的 Plug-in - 伺服器組態中定義的所有 Plug-in 都會載入,但伺服器將確認每個 Plug-in 的簽名。如果 Plug-in 二進位檔案碼已經遭到任何破壞,簽名將不再有效,而且伺服器將在啟動時在和錯誤日誌檔中顯示錯誤訊息。沒有簽名的 Plug-in 也會加上標幟。

      如果您有自訂、未經過簽署的 Plug-in,這是建議的選項。您的 Plug-in 將會載入,但您還是能夠檢視所有已簽署 Plug-in 的狀態。

    • 拒絕含無效簽名的 Plug-in - 伺服器將確認伺服器組態中定義的所有 Plug-in 的簽名,而且只載入含有效簽名的 Plug-in。伺服器將在啟動時在和錯誤記錄中顯示錯誤訊息,指出哪些 Plug-in 含無效簽名或無簽名。

      這是最安全的選項,但您將無法載入自訂、未經過簽署的 Plug-in。

  3. 按一下 [儲存],然後如「啟動和停止目錄伺服器」中所述重新啟動 Directory Server。

檢視 Plug-in 的狀態

  1. 在 Directory Server Console 最上層的 [組態] 標籤上,展開組態樹狀目錄中的 [Plug-in] 節點,並選擇要確認的 Plug-in。Plug-in 目前的組態顯示在右面板中。
  2. [簽名狀態] 欄位顯示 Plug-in 的簽名驗證狀態,並包含下列值之一:
    • 未知 - 將伺服器配置為不驗證 Plug-in 簽名時,所有 Plug-in 都處於此簽名狀態。只有要驗證 Plug-in簽名時,才會顯示下列狀態。
    • 有效簽名 - Plug-in 組態提供簽名,而該簽名符合 Plug-in 二進位檔案碼的總和檢查碼;此 Plug-in 正式受到支援。只有要為簽名加上標幟但不拒絕無效簽名時,才會顯示下列狀態。
    • 無效簽名 - Plug-in 組態提供簽名,但該簽名不符合 Plug-in 二進位檔案碼的總和檢查碼;這個狀態表示 Plug-in 可能已經遭到竄改。
    • 無簽名 - Plug-in 組態不提供簽名供伺服器驗證。


配置 DSML

除了在輕量型目錄存取通訊協定 (Lightweight Directory Access Protocol,LDAP) 中處理要求外,Directory Server 現在也回應使用目錄服務標記語言版本 2 (Directory Service Markup Language version 2,DSMLv2) 傳送的要求。DSML 為用戶端編碼目錄作業的另外一種方式,但是伺服器會以所有相同的存取控制及安全性功能,將 DSML 視同任何其他要求來處理。事實上,DSML 處理程序允許很多其他類型的用戶端可以存取您的目錄內容。

Directory Server 支援透過超文字傳輸通訊協定 (Hypertext Transfer Protocol,HTTP/1.1) 使用 DSMLv2,以及使用簡單物件存取通訊協定 (Simple Object Access Protocol,SOAP) 版本 1.1 作為程式設計通訊協定,以傳輸 DSML 內容。如需有關這些通訊協定和 DSML 要求範例的詳細資訊,請參閱「使用 DSMLv2 存取目錄」

啟用 DSML 要求

由於 LDAP 為存取目錄的標準通訊協定,依預設,安裝 Directory Server 後,不會啟用 DSML 要求。如果您想要自己的伺服器能夠回應透過 HTTP/SOAP 傳送的 DSML 要求,必須確實啟用這項功能。

若要透過主控台在您的伺服器上啟用 DSML 要求:

  1. 在 Directory Server Console 最上層的 [組態] 標籤上,選擇組態樹狀目錄中的根節點,並選擇右面板中的 [網路] 標籤。
  2. 選擇 [啟用 DSML] 核取方塊,並選擇下列其中一個安全選項:只有已啟用 SSL 時才可使用安全連接埠選項,如第 11 章「管理驗證和加密」所述。
    • 僅非安全連接埠 - 只接受非安全連接埠上透過未加密 HTTP 的 DSML 要求。
    • 僅安全連接埠 - 只接受安全連接埠上透過 HTTPS 的 DSML 要求。
    • 安全和非安全連接埠 - 兩個連接埠都作用中,用戶端可選擇任一個。
  3. 然後編輯下列任何一個欄位:
    • 連接埠 - 用於接收 DSML 要求的 HTTP 連接埠。
    • 加密連接埠 - 使用 SSL 接收加密 DSML 要求的 HTTP 連接埠。
    • 相對 URL - 相對的 URL,在附加上主機和連接埠時,決定用戶端必須用來傳送 DSML 要求的完整 URL。
    • 依據預設,該伺服器會處理傳送至下列 URL 的要求:

         http://host:80/dsml

  4. 按一下 [儲存],將會提醒您必須重新啟動該伺服器,以開始回應 DSML 要求。

若要透過指令行啟用 DSML 要求:

  1. 請執行下列 ldapmodify 指令,啟用 DSML 前端 Plug-in 並修改其設定值。修改 ds-hdsml-portds-hdsml-secureportds-hdsml-rooturl 屬性是選用的:
  2. % ldapmodify -h host -p LDAPport -D "cn=Directory Manager" -w passwd
    dn:cn=DSMLv2-SOAP-HTTP,cn=frontends,cn=plugins,cn=config
    changetype:modify
    replace:nsslapd-pluginEnabled
    nsslapd-pluginEnabled:on
    -
    replace:ds-hdsml-port
    ds-hdsml-port:DSMLport
    -
    add:ds-hdsml-secureport
    ds-hdsml-port:secureDSMLport
    -
    replace:ds-hdsml-rooturl
    ds-hdsml-root:relativeURL
    -
    ^D

  1. 修改完成 DSML 前端 Plug-in 後,您必須重新啟動伺服器使變更生效。不過,在您重新啟動伺服器前,或許會想要配置 DSML 驗證的安全性和識別對映,如下列章節中所述。

配置DSML 安全性

除了先前章節中所述的安全連接埠設定以外,您也可以配置接受 DSML 要求時所需要的安全層級。DSML 前端 Plug-in 的 ds-hdsml-clientauthmethod 屬性,決定用戶端所需要的驗證方法。此屬性可以擁有下列的值:

如果 HTTP 要求中既無憑證也沒有提供授權標頭,則伺服器會以匿名連結執行 DSML 要求。下列情況中也會使用匿名連結:

不論 ds-hdsml-clientauthmethod 屬性值為何,如果提供了憑證,但是此憑證卻無法對應至任何項目,或者如果已指定了 HTTP 授權標頭,但是無法對映至使用者項目,則將會拒絕 DSML 要求並出現錯誤訊息 403:「禁止」。

若要透過主控台設定 DSML 安全需求:

  1. 在 Directory Server 主控台最上層的 [組態] 標籤上,選擇組態樹狀目錄中的根節點,並選擇右面板中的 [加密] 標籤。
  2. 您必須已經依第 11 章「管理驗證和加密」所述配置及啟用 SSL。

  3. 在 [DSML 用戶端驗證] 欄位中,從下拉式功能表選擇其中一個選項。
  4. 按一下 [儲存],接著重新啟動伺服器以強制執行新的安全設定。

若要透過指令行設定 DSML 安全需求:

  1. 請執行下列 ldapmodify 指令,編輯 DSML 前端 Plug-in 的屬性:
  2. % ldapmodify -h host -p LDAPport -D "cn=Directory Manager" -w passwd
    dn:cn=DSMLv2-SOAP-HTTP,cn=frontends,cn=plugins,cn=config
    changetype:modify
    replace:ds-hdsml-clientauthmethod
    ds-hdsml-clientauthmethod:httpBasicOnly or
     clientCertOnly or clientCertFirst
    ^D

  3. 修改完成 DSML 前端 Plug-in 後,您必須重新啟動伺服器,強制執行此新的安全設定。

DSML 識別對映

在執行沒有憑證的基本驗證時,Directory Server 會使用稱為識別對映的機制來決定接受 DSML 要求時應使用的連結 DN。此機制會從 HTTP 要求的 Authorization 標頭中擷取資訊,決定要用於連結的識別。如需此機制的完整描述,請參閱「識別對映」

伺服器組態中的下列項目,提供 DSML-over-HTTP 的預設識別對映:

dn:cn=default,cn=HTTP-BASIC, cn=identity mapping, cn=config
objectclass:top
objectclass:nsContainer
objectclass:dsIdentityMapping
cn:default
dssearchbasedn:ou=People,userRoot
dssearchfilter:(uid=${Authorization})

此對映會在 ou=People,userRoot 樹狀子目錄中搜尋其 uid 屬性符合 Authorization 標頭中指定的使用者名稱的項目。userRoot 是您在安裝目錄時定義的尾碼,例如 dc=example,dc=com

在對映項目屬性內,您可以使用 ${header} 格式的預留位置,其中 header 是 HTTP 標頭的名稱。DSML 對映中最常使用的標頭為:

若要使 DSML 要求執行不同的識別對映,請為 HTTP 標頭定義新的識別對映:

  1. 編輯預設的 DSML-over-HTTP 識別對映,或為此通訊協定建立自訂的對映。如需識別對映項目中各屬性的定義,請參閱「識別對映」。這些對映必須位於下列項目之下:
    cn=HTTP-BASIC, cn=identity mapping, cn=config.

您可以依照下列兩種方式之一建立新對映:

系統會先評估自訂對映,而如果自訂對映都不成功,則再評估預設對映。如果所有對映在決定 DSML 要求的連結 DN 時都失敗了,則會禁止並拒絕 DSML 要求 (錯誤 403)。



上一章      目錄      索引      下一章     


Copyright 2004 Sun Microsystems, Inc. All rights reserved.