Sun Java System Directory Server Enterprise Edition 6.0 管理指南

第 3 章 目錄伺服器配置

本章說明如何配置目錄伺服器。您可以使用 dsconf 指令 (請參閱 dsconf(1M) 線上手冊)。

您也可以使用目錄服務控制中心 (DSCC),此方法較多人使用。 DSCC 會在配置程序中做進一步的檢查,以儘可能降低錯誤。此外,DSCC 也可讓您將某個伺服器實例的配置複製到另一個伺服器實例上。如需有關使用 DSCC 的更多資訊,請參閱 DSCC 線上說明。

本章包含下列主題:

使用 DSCC 修改配置

修改配置的建議方法為使用 DSCC。此瀏覽器介面提供了作業型控制,可協助您快速而有效地設定配置。使用 DSCC 可讓您修改某部伺服器的配置設定,並將其複製到其他伺服器上。此外,DSCC 介面亦可為您管理配置的複雜性與相互依賴性。如需以 DSCC 修改配置的詳細程序,請參閱 DSCC 線上說明。

從指令行修改配置

您可以撰寫採用指令行工具的程序檔,將配置作業自動化。

在指令行上使用 dsconf 指令修改配置。此指令會使用 LDAP 修改 cn=config 子樹狀結構。如需有關 dsconf 的更多資訊,請參閱目錄伺服器指令行工具

對於無法以 dsconf 執行的作業,請改用 ldapmodify 指令。


備註 –

若要使用 dsconf set-server-prop 指令修改伺服器配置特性,您必須了解所能修改的特性及其預設值。使用下列指令可顯示所有特性的說明:


$ dsconf help-properties -v

搜尋所需項目的特性說明。以 UNIX 平台為例,鍵入下列內容即可搜尋記憶體快取特性:


$ dsconf help-properties -v | grep cache

如需有關 cn=config 中各配置項目的更多資訊,以及所有配置項目與屬性的完整說明 (包括允許值的範圍),請參閱「Sun Java System Directory Server Enterprise Edition 6.0 Reference」

修改 dse.ldif 檔案

目錄伺服器會將其所有配置資訊儲存於此檔案:

instance-path/config/dse.ldif


注意 – 注意 –

直接編輯 dse.ldif 檔案內容以修改配置的做法很容易造成錯誤,不建議使用。但若您選擇手動編輯此檔案,請在編輯檔案前先停止伺服器,再於編輯完成後重新啟動。


dse.ldif 檔案使用 LDAP 資料互換格式 (LDIF)。LDIF 是項目、屬性及其值的文字表示法,也是 RFC 2849 (http://www.ietf.org/rfc/rfc2849) 中所述之標準格式。

dse.ldif 檔案中的目錄伺服器配置由下列項目構成:

配置管理使用者

目錄伺服器含有預設管理使用者、「目錄管理員」與 cn=admin,cn=Administrators,cn=config 使用者。這兩種使用者具有相同的存取權限,但 cn=admin,cn=Administrators,cn=config 須受 ACI 支配。

本節說明如何建立具有超級使用者存取權的管理使用者,以及如何配置「目錄管理員」。

Procedure建立具有超級使用者存取權的管理使用者

若要建立與 cn=admin,cn=Administrators,cn=config 具有相同權限的新管理使用者,請在 cn=Administrators,cn=config 群組中建立新的使用者。此群組中的所有使用者均須受全域 ACI 支配,該全域 ACI 可允許與「目錄管理員」相同之存取權限。

無法使用 DSCC 執行此作業。請依照此程序中的說明使用指令行。

    建立新的管理使用者。

    例如,若要建立新的使用者 cn=Admin24,cn=Administrators,cn=config,請鍵入:


    $ ldapmodify -h host1 -p 1389 -D cn=admin,cn=Administrators,cn=config -w -
    dn: cn=admin24,cn=Administrators,cn=config
    changetype: add
    objectclass: top
    objectclass: person
    userPassword: password
    description: Administration user with the same access rights as Directory Manager.

    -D-w 選項分別可為有權建立此項目的使用者指定連結 DN 與密碼。

Procedure配置目錄管理員

「目錄管理員」是專用的伺服器管理員,相對於 UNIX 系統上的 root 使用者。存取控制不適用於「目錄管理員」。

大部分的管理作業均不需用到「目錄管理員」。您可以改用使用者 cn=admin,cn=Administrators,cn=config,或任何您在 cn=Administrators,cn=config 下建立的其他使用者。唯一需要「目錄管理員」的作業,是變更根 ACI 以及複寫的疑難排解作業,例如修復複寫與搜尋標記。

您可以變更目錄管理員 DN 與密碼,以及建立可從中自動讀取密碼的檔案。

無法使用 DSCC 執行此作業。請依照此程序中的說明使用指令行。

  1. 尋找現有的目錄管理員 DN。


    $ dsconf get-server-prop -h host -p port root-dn
    root-dn:cn=Directory Manager
  2. 在必要時修改「目錄管理員」設定。

    • 若要修改目錄管理員 DN,請鍵入:


      $ dsconf set-server-prop -h host -p port root-dn:new-root-dn
      

      若目錄管理員 DN 中有空格,請使用引號。例如:


      $ dsconf set-server-prop -h host1 -p 1389 root-dn:"cn=New Directory Manager"
    • 若要變更目錄管理員密碼,請鍵入:


      $ dsconf set-server-prop -h host -p port root-pwd:new-root-dn-password
      

      若因安全性考量而不以指令行引數的形式傳送純文字密碼,請建立用以設定密碼的暫存檔。


      $ echo password > /tmp/pwd.txt

      此檔案只能讀取一次,您必須儲存密碼以供日後使用。設定伺服器根密碼檔案特性。


      $ dsconf set-server-prop -h host -p port root-pwd-file:/tmp/pwd.txt

      此指令會提示伺服器讀取密碼檔案。設定密碼檔案特性後,請移除暫存密碼檔案。


      $ rm /tmp/pwd.txt

保護配置資訊

根目錄伺服器項目 (以零長度 DN "" 進行基底物件搜尋所傳回的項目) 與 cn=configcn=monitorcn=schema 下的子樹狀結構,含有「目錄伺服器」自動產生的存取控制指令 (ACI)。這些 ACI 可用以決定目錄項目的使用者權限。這些 ACI 足夠評估作業之用。但運用在生產環境部署時,就必須評估您的存取控制需求,並設計您自己的存取控制。

若您基於安全性考量而要隱藏一或多個其他子樹狀結構的存在,並保護您的配置資訊,您必須將其他 ACI 置於 DIT 上。

如需有關建立 ACI 的更多資訊,請參閱第 6 章, 目錄伺服器存取控制

配置 DSCC

本節提供下列有關配置 DSCC 的資訊:

Procedure變更 Common Agent Container 的連接埠號

預設的 Common Agent Container 連接埠號為 11162。Common Agent Container 會將 DSCC 代理程式連接埠定義為 jmxmp-connector-port。若基於管理原因,DSCC 代理程式與 Common Agent Container 必須使用不同的連接埠號,請使用下列程序。

無法使用 DSCC 執行此作業。請依照此程序中的說明使用指令行。

  1. 以超級使用者的身份,驗證 jmxmp-connector-port 現有的連接埠號。


    $ su 
    Password: 
    # cacaoadm list-params
    ...
    jmxmp-connector-port=11162
    ...
  2. 變更 DSCC 代理程式連接埠號。

    變更 DSCC 代理程式連接埠號時,必須停止 Common Agent Container。


    # cacaoadm stop
    # cacaoadm set-param jmxmp-connector-port=new-port
    # cacaoadm start

    如需此指令的位置,請參閱指令位置

  3. 在 DSCC 中取消註冊您的伺服器,然後使用新的 DSCC 代理程式連接埠號予以重新註冊。

    此外,當您建立新的伺服器時,您必須指定非預設的 DSCC 代理程式連接埠號。

Procedure重設目錄服務管理員密碼

若要重設目錄服務管理員密碼,請依本程序中所述使用 DSCC。

  1. 存取 DSCC中所述存取 DSCC。

  2. 按一下 [設定] 標籤,然後選擇 [目錄服務管理員]。

  3. 按一下要變更密碼的「目錄服務管理員」名稱。

  4. 在特性畫面中,輸入新的密碼。

    在 [確認密碼] 欄位中再次鍵入新密碼,以進行確認。按一下 [確定] 以儲存變更。

Procedure延伸 DSCC 階段作業自動逾時延遲

經過一段時間後,您的 DSCC 階段作業將會逾時,並將您登出 DSCC。使用此程序可延伸逾時延遲。請注意,此程序可延伸 DSCC 的逾時以及 Sun Java Web Console 中所有其他應用程式的逾時。

無法使用 DSCC 執行此作業。請依照此程序中的說明使用指令行。

  1. 以超級使用者的身份延伸逾時延遲。


    # wcadmin add -p -a ROOT session.timeout.value=mm
    

    其中 mm 是逾時之前的時間,以分鐘數計算。

    例如,若要將逾時設為兩小時,請鍵入:


    $ su
    Password:
    # wcadmin add -p -a ROOT session.timeout.value=120
    Set 1 properties for the ROOT application.
    # wcadmin list -p
    Shared service properties (name, value):
        session.timeout.value  120
        ...
  2. 重新啟動 Sun Java Web Console。


    # smcwebserver restart
    Shutting down Sun Java(TM) Web Console Version 3.0.1 ...
    Starting Sun Java(TM) Web Console Version 3.0.1 ...
    The console is running.

    如需這些指令的位置,請參閱指令位置

配置 DSCC 的容錯移轉

DSCC 會顯示您已在 DSCC 中註冊的伺服器。

若先前安裝 DSCC 的機器故障,您可以改在其他機器上安裝 DSCC,然後重新註冊伺服器。但這麼做可能很花時間。若想要透過 DSCC 立即存取伺服器,您可以配置 DSCC 容錯移轉。

若要配置 DSCC 容錯移轉,請考量下列注意事項:

DSCC 的疑難排解

如需有關 DSCC 的疑難排解資訊,請參閱「Sun Java System Directory Server Enterprise Edition 6.0 Installation Guide」中的「To Troubleshoot Directory Service Control Center Access」

變更目錄伺服器連接埠號

您可以使用 DSCC 或 dsconf set-server-prop 指令,修改您的使用者目錄伺服器的 LDAP 連接埠或 LDAPS 安全連接埠號。

若變更了連接埠號,請注意下列事項:

若您使用指令行變更了連接埠號,請注意下列事項:

Procedure修改連接埠號、啟用連接埠以及停用連接埠

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

  1. 驗證連接埠現有的設定。


    $ dsconf get-server-prop -h host -p port port-type
    

    其中 port-type 為下列其中一項:

    ldap-port

    LDAP 預設連接埠

    ldap-secure-port

    LDAPS 安全連接埠

    dsml-port

    DSML 預設連接埠

    dsml-secure-port

    DSML 安全連接埠

    例如,若要顯示 LDAPS 安全連接埠,請鍵入:


    $ dsconf get-server-prop -h host1 -p 2501 ldap-secure-port
    Enter "cn=Directory Manager" password:
    ldap-secure-port : 2511

    若傳回的結果為整數,表示連接埠已啟用。若傳回的結果為 disabled,表示連接埠已停用。


    備註 –

    您也可以使用 dsadm 列出 LDAP 預設連接埠與 LDAPS 安全連接埠。


  2. 必要時,請修改連接埠號或啟用連接埠。


    $ dsconf set-server-prop -h host -p port port-type:new-port
    

    例如,若要將 LDAP 連接埠號從 1389 變更為 1390,請使用此指令:


    $ dsconf set-server-prop -h host1 -p 1389 ldap-port:1390

    若要在連接埠號 2250 上啟用 DSML 安全連接埠,請使用此指令:


    $ dsconf set-server-prop -h host1 -p 1389 dsml-secure-port:2250
  3. 必要時,請停用連接埠。


    $ dsconf set-server-prop -h host -p port port-type:disabled

    例如,若要停用 DSML 安全連接埠,請使用此指令:


    $ dsconf set-server-prop -h host1 -p 1389 dsml-secure-port:disabled

配置 DSML

除了以「簡易目錄存取協定 (LDAP)」處理請求以外,目錄伺服器也會回應以目錄服務標記語言版本 2 (DSMLv2) 傳送的請求。DSML 是另一個可供用戶端編碼目錄作業的方法。伺服器處理 DSML 就像處理任何其他請求一般,所使用之存取控制與安全性功能均相同。DSML 處理允許其他多種用戶端類型存取您的目錄內容。

目錄伺服器支援透過超文字傳輸協定 (HTTP/1.1) 使用 DSMLv2,而在傳輸 DSML 內容時,會使用簡易物件存取協定 (SOAP) 1.1 版做為程式設計協定。如需有關這些協定的更多資訊,以及 DSML 請求的範例,請參閱「Sun Java System Directory Server Enterprise Edition 6.0 Reference」中的第 10 章「Directory Server DSMLv2」

本節包含下列主題:

Procedure啟用 DSML-over-HTTP 服務

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

  1. 將 DSML 模式設為 on


    $ dsconf set-server-prop -h host -p port dsml-enabled:on
  2. 設定安全 DSML 連接埠。


    $ dsconf set-server-prop -h host -p port dsml-secure-port:port
    
  3. 設定非安全 DSML 連接埠。


    $ dsconf set-server-prop -h host -p port dsml-port:port
    

    此連接埠預設會設為 80

  4. 重新啟動伺服器。


    $ dsadm restart instance-path
    
接下來的步驟

根據您所定義的參數與屬性值,DSML 用戶端可使用下列 URL 傳送請求至此伺服器:

http://host:DSML-port/ relative-URL

https://host:secure-DSML-port /relative-URL

Procedure停用 DSML-over-HTTP 服務

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

  1. 將 DSML 模式設為 off


    $ dsconf set-server-prop -h host -p port dsml-enabled:off
  2. 將安全 DSML 連接埠設為 disabled


    $ dsconf set-server-prop -h host -p port dsml-secure-port:disabled
  3. 重新啟動伺服器。


    $ dsasm restart instance-path
    

Procedure配置 DSML 安全性

您可以配置接受 DSML 請求時所需的安全性層級。若要執行此作業,您必須配置 DSML 用戶端認證。

    設定 DSML 用戶端認證模式。


    $ dsconf set-server-prop -h host -p port dsml-client-auth-mode:dsml-mode
    

    dsml-mode 可為下列其中之一:

    • http-basic-only - 此為預設值。伺服器會使用「HTTP 授權」標頭的內容,尋找可對映至目錄中之項目的使用者名稱。此程序及其配置會透過 SSL 進行加密,但不需要用戶端憑證。相關說明請參閱 DSML 身份識別對映

    • client-cert-only - 伺服器會使用來自用戶端憑證中的憑證,進行用戶端的身份識別。使用此值時,所有 DSML 用戶端均必須使用安全 HTTPS 連接埠傳送 DSML 請求及提供憑證。伺服器會檢查用戶端憑證是否符合目錄中的項目。如需更多資訊,請參閱第 5 章, 目錄伺服器安全性

    • client-cert-first - 伺服器會嘗試先以用戶端憑證 (若有的話) 進行用戶端認證。否則,伺服器將會使用「授權」標頭的內容進行用戶端認證。

    若 HTTP 請求未提供任何憑證與「授權」標頭,伺服器即會以匿名連結執行 DSML 請求。下列情況也會使用匿名連結:

    • 在指定 client-cert-only 時,用戶端提供了有效的「授權」標頭,但不具憑證。

    • 在指定 http-basic-only 時,用戶端提供了有效的憑證,但不具「授權」標頭。

    無論用戶端認證方法為何,若已提供憑證,但不符合項目,或已指定「HTTP 授權」標頭,但此標頭無法對映至使用者項目,DSML 請求即會遭拒絕,並產生錯誤訊息 403:「禁止」。

DSML 身份識別對映

執行不具憑證的基本認證時,目錄伺服器會使用名為身份識別對映的機制,判斷在接受 DSML 請求時所應使用的連結 DN。此機制會從 HTTP 請求的「授權」標頭中擷取資訊,以判斷用以連結的身份識別。

DSML/HTTP 的預設身份識別對映,由您伺服器配置中的下列項目所指定。

dn: cn=default,cn=HTTP-BASIC,cn=identity mapping,cn=config
objectClass: top
objectClass: nsContainer
objectClass: dsIdentityMapping
cn: default
dsSearchBaseDN: ou=people
dsSearchFilter: (uid=${Authorization})

此配置表示伺服器應使用 HTTP 使用者 ID,做為目錄伺服器尾碼中所儲存之 DN 的 uid 值。例如,若 HTTP 使用者為 bjensen,伺服器就會嘗試使用 DN uid=bjensen,ou=people 執行連結。

為使對映正常運作,您必須完成 dsSearchBaseDN 的值。例如,您可以將 dsSearchBaseDN 的值變更為 ou=people,dc=example,dc=com。接著,若 HTTP 使用者為 bjensen,伺服器就會嘗試使用 DN uid=bjensen,ou=people,dc=example,dc=com 執行連結。

dn: cn=default,cn=HTTP-BASIC,cn=identity mapping,cn=config
objectClass: top
objectClass: nsContainer
objectClass: dsIdentityMapping
cn: default
dsSearchBaseDN: ou=people,dc=example,dc=com
dsSearchFilter: (uid=${Authorization})

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

以下是 DSML 對映中最常使用的標頭。

${Authorization}

此字串會由「HTTP 授權」標頭中所含的使用者名稱取代。授權標頭中含有使用者名稱及其密碼,但在此預留位置中只有使用者名稱會遭取代。

${From}

此字串會由「HTTP 寄件者」標頭中可能包含的電子郵件位址取代。

${host}

此字串會由 DSML 請求之 URL 的主機名稱與連接埠號取代,此亦即伺服器的主機名稱與連接埠號。

若要讓 DSML 請求執行不同類型的身份識別對映,請為 HTTP 標頭定義新的身份識別對映。

Procedure為 HTTP 標頭定義新的身份識別對映

  1. 為此協定編輯預設 DSML-over-HTTP 身份識別對映,或建立自訂對映。

    對映項目必須位於 cn=HTTP-BASIC,cn=identity mapping,cn=config 項目下。

    在指令行上使用 ldapmodify 指令增加此項目,如使用 ldapmodify 增加項目中所述。

  2. 重新啟動目錄伺服器,使您的新對映生效。

    自訂對映會先進行評估。若沒有成功的自訂對映,則會接著評估預設對映。若所有對映皆無法判斷 DSML 請求的連結 DN,即會禁止並拒絕 DSML 請求 (錯誤 403)。

將伺服器設為唯讀

您目錄中的每個尾碼均可單獨設為唯讀模式,並可傳回特定的參照 (若已定義)。目錄伺服器針對適用於所有尾碼同時可傳回全域參照的伺服器 (若已定義),也提供了唯讀模式。

設計伺服器唯讀模式的目的,是要讓管理員在執行重新編製尾碼索引之類的作業時,防止目錄內容遭到修改。因此,伺服器唯讀模式並不適用於下列配置分支:

無論唯讀設定為何,這些分支應始終受存取控制指令 (ACI) 的保護,以免遭到管理員以外的使用者修改 (請參閱第 6 章, 目錄伺服器存取控制)。全域唯讀模式可防止目錄中所有其他尾碼的更新作業,包括「目錄管理員」所初始化的更新作業在內。

唯讀模式啟用後,也會使尾碼的複寫作業中斷。主伺服器複本將不再有任何變更需複寫,即使它繼續複寫唯讀模式啟用前所做的任何變更,仍是如此。用戶複本必須等到唯讀模式停用後,才能接收更新。多重主伺服器複寫環境中的主伺服器不具任何需複寫的變更,且無法從其他主伺服器接收更新。

Procedure啟用或停用伺服器唯讀模式

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

  1. 啟用全域唯讀模式。


    $ dsconf set-server-prop -h host -p port read-write-mode:read-only
  2. 當您準備好時,即可停用唯讀模式。


    $ dsconf set-server-prop -h host -p port read-write-mode:read-write

配置記憶體

本節提供管理不同記憶體類型的相關資訊。如需不同快取類型的說明與有關快取微調的相關資訊,請參閱「Sun Java System Directory Server Enterprise Edition 6.0 Reference」中的第 5 章「Directory Server Data Caching」

填充快取

填充快取是指將資料填入快取中,使後續的目錄伺服器運作方式反映出正常的作業效能,而不是不穩定的效能。在進行標準檢查時若產生可重複顯示的結果,以及在測量與分析可能的最佳化程度時,填充快取都有其效用。

請儘可能避免主動填充快取。在測量效能之前,請讓快取透過用戶端與目錄伺服器之間正常或一般的互動方式進行填充。

如需填充資料庫快取的工具,請至 http://www.slamd.com

Procedure修改資料庫快取


注意 – 注意 –

修改快取可能會嚴重影響伺服器效能。修改快取時請多加留意。


您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

  1. 取得目前的資料庫快取層級。


    $ dsconf get-server-prop -h host -p port db-cache-size
  2. 變更資料庫快取層級。


    $ dsconf set-server-prop -h host -p port db-cache-size:sizeM

    其中 size 是以 MB 為單位的大小。

Procedure監視資料庫快取

安裝上的預設快取層級僅適用於測試環境,不適用於生產環境。進行微調時,您可以監視伺服器的資料庫快取。

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

    監視資料庫快取。


    $ ldapsearch -h host -p port -D cn=admin,cn=Administrators,cn=config -w - \
     -b "cn=monitor,cn=ldbm database,cn=plugins,cn=config" "(objectclass=*)"

    若資料庫快取大小足夠,並且已完成填充,則符合率 (dbcachehitratio) 應該會很高。此外,已讀入的頁面數 (dbcachepagein) 與已寫出的乾淨頁面數 (dbcacheroevict) 應該都很低。此處的「高」與「低」是相對於部署限制的表示。

Procedure監視項目快取

進行微調時,您可以檢查一或多個尾碼的項目快取。使用下列程序即可檢視項目快取層級。

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

    監視項目快取。


    $ ldapsearch -h host -p port -D cn=admin,cn=Administrators,cn=config -w - \
     -b "cn=monitor,cn=db-name,cn=ldbm database,cn=plugins,cn=config" "(objectclass=*)"

    若尾碼的項目快取大小足以保存尾碼中大部分的項目,且快取已完成填充,則符合率 (entrycachehitratio) 應該會很高。

    若您已填充快取,則您將會在先前空白的項目快取填入時,看見項目快取大小 (currententrycachesize) 接近項目快取大小上限 (maxentrycachesize)。在理想狀況下,項目中的大小 (currententrycachecount) 應等於或非常接近尾碼中的總項目數 (ldapentrycachecount)。

Procedure修改項目快取


注意 – 注意 –

修改快取可能會嚴重影響伺服器效能。修改快取時請多加留意。


您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

  1. 取得目前的項目快取層級。


    $ dsconf get-suffix-prop -h host -p port suffix-DN entry-cache-count
  2. 變更項目快取層級。


    $ dsconf set-suffix-prop -h host -p port suffix-DN entry-cache-count:integer
    

    其中 integer 是項目數。

  3. 變更項目快取大小。


    $ dsconf set-suffix-prop -h host -p port suffix-DN entry-cache-size:integer
    

    其中 integer 是以位元為單位的大小。

Procedure配置堆疊記憶體臨界值

若要限制 nsslapd 程序所使用的堆疊記憶體數,您可以設定動態記憶體佔用空間的臨界值。當目錄伺服器執行於共用或分散資源的機器上時,您即可設定此臨界值。


備註 –

此臨界值只能設定於 SolarisTM 與 Linux 平台上。


如需有關設定記憶體大小的資訊,請參閱「Sun Java System Directory Server Enterprise Edition 6.0 Deployment Planning Guide」中的「Directory Server and Memory」

無法使用 DSCC 執行此作業。請依照此程序中的說明使用指令行。

  1. 設定堆疊記憶體高臨界值上限。


    $ dsconf set-server-prop -h host -p port heap-high-threshold-size:value
    

    如需有關用於 ds-maxheap-high 之值的建議,請參閱 ds-maxheaphigh(5dsconf) 線上手冊。

  2. 您可以選擇是否設定堆疊記憶體低臨界值上限。


    $ dsconf set-server-prop -h host -p port heap-low-threshold-size:value
    

    如需有關用於 ds-maxheap-low 之值的建議,請參閱 ds-maxheaphigh(5dsconf) 線上手冊,其中含有 ds-maxheap-highds-maxheap-low 的相關建議。

設定每個用戶端帳號的資源限制

您可以控制伺服器上各個用戶端帳號的搜尋作業資源限制。您可以在帳號的作業屬性中設定此類限制,而讓目錄伺服器根據用戶端用以連結至目錄的帳號加以強制執行。

您可以設定下列限制:


備註 –

依預設,「目錄管理員」所能使用的資源數不受限制。


您對特定使用者帳號所設定的資源限制,優先於伺服器整體配置中所設定的資源限制。本節將就每個帳號的資源限制設定提供相關資訊。

本節中的範例會直接在項目的屬性中設定資源限制。您也可以使用「服務類別 (CoS)」機制,設定帳號的資源限制。為用戶端應用程式擷取項目時,CoS 機制即會產生運算屬性。如需有關定義 CoS 的更多資訊,請參閱服務類別

Procedure檢視伺服器資源限制設定

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

    使用 dsconf get-server-prop 指令可讀取資源限制伺服器特性。


    $ dsconf get-server-prop -h host -p port look-through-limit search-size-limit \
     search-time-limit idle-timeout
    look-through-limit  :  5000  
    search-size-limit   :  2000  
    search-time-limit   :  3600
    idle-timeout        :  none

    輸出中顯示,搜尋作業在處理搜尋時,最多查詢 5000 個項目、最多傳回 2000 個項目,以及最多使用伺服器時間一小時 (3600 秒)。

Procedure設定帳號的查詢限制

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

    使用 ldapmodify 指令可設定 nsLookThroughLimit 的值。

    下列指令可移除 Barbara Jensen 的查詢限制:


    $ ldapmodify -D cn=admin,cn=Administrators,cn=config -w -
    Enter bind password: 
    dn: uid=bjensen,ou=people,dc=example,dc=com
    changetype: modify
    add: nsLookThroughLimit
    nsLookThroughLimit: -1
    ^D
    modifying entry uid=bjensen,ou=people,dc=example,dc=com
    
    ^D
    $

Procedure設定帳號的大小限制

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

    使用 ldapmodify 指令可設定 nsSizeLimit 的值。

    下列指令可移除 Barbara Jensen 的大小限制:


    $ ldapmodify -D cn=admin,cn=Administrators,cn=config -w -
    Enter bind password: 
    dn: uid=bjensen,ou=people,dc=example,dc=com
    changetype: modify
    add: nsSizeLimit
    nsSizeLimit: -1
    ^D
    modifying entry uid=bjensen,ou=people,dc=example,dc=com
    
    ^D
    $

Procedure設定帳號的時間限制

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

    使用 ldapmodify 指令可設定 nsTimeLimit 的值。

    下列指令可移除 Barbara Jensen 的時間限制:


    $ ldapmodify -D cn=admin,cn=Administrators,cn=config -w -
    Enter bind password: 
    dn: uid=bjensen,ou=people,dc=example,dc=com
    changetype: modify
    add: nsTimeLimit
    nsTimeLimit: -1
    ^D
    modifying entry uid=bjensen,ou=people,dc=example,dc=com
    
    ^D
    $

Procedure設定帳號的閒置逾時

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

    使用 ldapmodify 指令可設定 nsIdleTimeout 的值。

    下列指令將 Barbara Jensen 的閒置逾時設為五分鐘 (300 秒):


    $ ldapmodify -D cn=admin,cn=Administrators,cn=config -w -
    Enter bind password: 
    dn: uid=bjensen,ou=people,dc=example,dc=com
    changetype: modify
    add: nsIdleTimeout
    nsIdleTimeout: 300
    ^D
    modifying entry uid=bjensen,ou=people,dc=example,dc=com
    
    ^D
    $