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

執行 uid 與其他屬性的唯一性

節說明如何啟用及配置 uid 屬性的預設唯一性外掛程式,以及如何執行任何其他屬性的唯一性。

Procedure執行 uid 屬性的唯一性

此程序說明如何使用 dsconf 指令,啟用及配置 UID 唯一性外掛程式。外掛程式配置項目的 DN 為 cn=uid uniqueness,cn=plugins,cn=config

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

使用 DSCC 期間,不可於執行其他屬性的唯一性時,修改預設 UID 唯一性外掛程式。若不需要 UID 唯一性外掛程式,請如執行其他屬性的唯一性中所述,將該外掛程式保留為停用,再為其他屬性建立新的外掛程式實例。

  1. 啟用外掛程式。


    $ dsconf enable-plugin -h host -p port "uid uniqueness"
  2. 根據您對要執行唯一性的子樹狀結構所將進行的指定,修改外掛程式引數。

    • 若要指定單一子樹狀結構的基底 DN,請鍵入:


      $ dsconf set-plugin-prop -h host -p port "uid uniqueness" argument:uid argument:subtreeBaseDN
      

      例如:


      $ dsconf set-plugin-prop -h host1 -p 1389 "uid uniqueness" argument:uid \
       argument:dc=People,dc=example,dc=com
    • 若要指定多個子樹狀結構,請以子樹狀結構的完整基底 DN,將更多引數增加為各個引數的值。


      $ dsconf set-plugin-prop -h host -p port "uid uniqueness" argument:uid \
       argument:subtreeBaseDN argument:subtreeBaseDN
      
    • 若子樹狀結構要根據其基底項目的物件類別進行指定,請將引數設為下列值。uid 屬性的唯一性會在每個具有 baseObjectClass 之項目的子樹狀結構中執行。您可以選擇在第三個引數中指定 entryObjectClass,使外掛程式僅在以具有此物件類別的項目為目標的作業中,執行唯一性。


      $ dsconf set-plugin-prop -h host -p port "uid uniqueness" argument:attribute=uid \
       argument:markerObjectClass=baseObjectClass argument:entryObjectClass=baseObjectClass
      
  3. 重新啟動伺服器,使變更生效。

Procedure執行其他屬性的唯一性

UID 唯一性外掛程式可用以執行任何屬性的唯一性。您必須在目錄中的 cn=plugins,cn=config 下建立新項目,以建立新的外掛程式實例。

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

  1. 建立新的外掛程式。


    $ dsconf create-plugin -h host -p port -H lib-path -F init-func \
     -Y type plugin-name 
    

    plugin-name 應為簡短同時包含屬性名稱的說明性名稱。例如,若要建立郵件 ID 屬性的唯一性外掛程式,請使用此指令:


    $ dsconf create-plugin -h host1 -p 1389 -H /opt/SUNWdsee/ds6/lib/uid-plugin.so \
     -F NSUniqueAttr_Init -Y preoperation "mail uniqueness"
  2. 設定外掛程式特性:


    $ dsconf set-plugin-prop -h host -p port plugin-name property:value
    

    例如,若要設定郵件唯一性外掛程式的特性:


    $ dsconf set-plugin-prop -h host1 -p 1389 "mail uniqueness" \
     desc:"Enforce unique attribute values..." version:6.0 \
     vendor:"Sun Microsystems, Inc." depends-on-type:database
  3. 啟用外掛程式。


    $ dsconf enable-plugin -h host -p port plugin-name
    
  4. 指定外掛程式引數。

    這些引數取決於您對要執行唯一性的子樹狀結構將要進行的指定。

    • 若一或多個子樹狀結構要根據其基底 DN 進行定義,則第一個引數必須是應具有唯一值之屬性的名稱。後續引數為子樹狀結構的基底項目之完整 DN。


      $ dsconf set-plugin-prop -h host -p port plugin-name argument:attribute-name \
       argument:subtreeBaseDN argument:subtreeBaseDN...
    • 若子樹狀結構要根據其基底項目的物件類別進行定義,則第一個引數必須包含 attribute= attribute-name,用以指定應具有唯一值之屬性的名稱。第二個引數必須是 baseObjectClass,用以決定要執行唯一性之子樹狀結構的基底項目。您可以選擇在第三個引數中指定 entryObjectClass,使外掛程式僅在以具有此物件類別的項目為目標的作業中,執行唯一性。


      $ dsconf set-plugin-prop -h host -p port plugin-name argument:attribute=attribute-name \
       argument:markerObjectClass=baseObjectClass argument:requiredObjectClass=entryObjectClass
      

    在所有外掛程式引數中,= 符號之前或之後皆不可有空格。

  5. 重新啟動伺服器,使變更生效。