Sun Java System Delegated Administrator 6.4 管理指南

第 4 章 自訂 Delegated Administrator

使用配置程式 (config-commda) 安裝和配置 Delegated Administrator 之後,您可以自訂配置以滿足特定需要。本章提供了如何自訂特定 Delegated Administrator 功能的範例。

您應該先備份現有的 Delegated Administrator 配置檔案,然後再開始對其進行自訂。

而且,在升級 Delegated Administrator 時,會遺失自訂的配置資料。因此,您應該在升級 Delegated Administrator 之前保留自訂配置,或重新執行 Delegated Administrator 配置程式。 如需更多資訊,請參閱保留現有配置

本章會先列出配置檔案的位置,然後說明如何將自訂檔案重新部署至適當的位置。本章接著會描述如何自訂特定功能。其包含以下主題:

部署自訂配置檔案

當您使用 config-commda 程式配置 Delegated Administrator 時, config-commda 會將配置檔案置於 Delegated Administrator 安裝目錄中的配置資料標準位置中。然後 config-commda 程式會將配置檔案部署至已部署 Delegated Administrator 的 Web 容器應用程式儲存庫中。

因此,配置檔案的部署位置會根據您使用的 Web 容器而改變。

在執行階段中,Delegated Administrator 會使用部署位置中配置檔案的特性值,檔案位於部署 Delegated Administrator 的 Web 容器儲存庫中。

若要自訂配置檔案,您必須執行這些步驟:

  1. 編輯位於 Delegated Administrator 安裝目錄中的原始配置檔案。

  2. 使用 Delegated Administrator 提供的程序檔將配置檔案重新部署至 Web 容器。

當您自訂配置檔案時,在您將檔案重新部署至 Web 容器之前,新的值並不會生效。

本小節的剩餘篇幅將描述以下主題:

配置檔案的原始 (標準) 位置

在配置 Delegated Administrator 之後 (執行 config-commda 程式後),配置檔案會位於以下目錄中:

配置檔案的部署位置

在執行 config-commda 程式後,根據您選擇部署 Delegated Administrator 的 Web 容器,配置檔案將部署至以下位置。

Delegated Administrator 伺服器檔案 (resource.properties) 的部署位置

resource.properties 檔案會部署至以下其中一個預設位置:

Web Server 6.x

/opt/SUNWwbsvr/https-hostname/webapps/https-hostname \
/commcli/WEB-INF/classes/sun/comm/cli/server/servlet
Web Server 7.x

/var/opt/SUNWwbsvr7/https-hostname/webapps/hostname \
/commcli/WEB-INF/classes/sun/comm/cli/server/servlet
Application Server 7.x

/var/opt/SUNWappserver7/domains/domain1/server1 \
/applications/j2ee-modules \
/commcli/WEB-INF/classes/sun/comm/cli/server/servlet
Application Server 8.x

/var/opt/SUNWappserver/domains/domain1 \
/applications/j2ee-modules \
/commcli/WEB-INF/classes/sun/comm/cli/server/servlet

Delegated Administrator 主控台配置檔案的部署位置

以下檔案會部署至相同預設位置:

根據您選擇部署 Delegated Administrator 的 Web 容器,這些特性檔案會部署至以下其中一個預設位置:

Web Server 6.x

/opt/SUNWwbsvr/https-hostname/webapps/https-hostname \
/da/WEB-INF/classes/com/sun/comm/da/resources
Web Server 7.x

/var/opt/SUNWwbsvr7/https-hostname/webapps/hostname \
/da/WEB-INF/classes/com/sun/comm/da/resources
Application Server 7.x

/var/opt/SUNWappserver7/domains/domain1/server1 \
/applications/j2ee-modules \
/Delegated_Administrator/WEB-INF \
/classes/com/sun/comm/da/resources
Application Server 8.x

/var/opt/SUNWappserver/domains/domain1 \
/applications/j2ee-modules \
/Delegated_Administrator/WEB-INF \
/classes/com/sun/comm/da/resources

Procedure若要部署自訂配置檔案

  1. 以超級使用者身份 (或成為超級使用者) 登入並移至以下目錄:

    /opt/SUNWcomm/sbin

  2. 執行適當的部署程序檔將自訂的配置檔案重新部署至 Delegated Administrator 使用的 Web 容器。

    您必須將配置檔案重新部署至已部署 Delegated Administrator 的 Web 容器,而您上次也在該 Delegated Administrator 中執行 Delegated Administrator 配置程式 (config-commda)。

    請使用可同時套用至自訂配置檔案和正確 Web 容器的部署程序檔。

    例如,若要將 resource.properties 檔案重新部署至 Web Server 6,請執行此指令:


    # ./config-wbsvr-commcli
    

    如需部署程序檔的清單,請參閱配置檔案部署程序檔

配置檔案部署程序檔

每個 Web 容器有兩個部署程序檔。其中一個程序檔會部署 Delegated Administrator 伺服器檔案。另外一個會部署 Delegated Administrator 主控台檔案:

部署程序檔如下所示:

Web Server 6
  • Delegated Administrator 伺服器檔案 (resource.properties ) 的部署程序檔:

    config-wbsvr-commcli

  • Delegated Administrator 主控台檔案的部署程序檔:

    config-wbsvr-da

若要執行程序檔,請輸入這些指令:


# ./config-wbsvr-commcli
# ./config-wbsvr-da
Web Server 7.x
  • Delegated Administrator 伺服器檔案 (resource.properties ) 的部署程序檔:

    config-wbsvr7x-commcli

  • Delegated Administrator 主控台檔案的部署程序檔:

    config-wbsvr7x-da

若要執行程序檔,請輸入這些指令:


# ./config-wbsvr7x-commcli
# ./config-wbsvr7x-da
Application Server 7.x
  • Delegated Administrator 伺服器檔案 (resource.properties ) 的部署程序檔:

    config-appsvr-commcli

  • Delegated Administrator 主控台檔案的部署程序檔:

    config-appsvr-da

若要執行程序檔,請輸入這些指令:


# ./config-appsvr-commcli deploy
# ./config-appsvr-da deploy

您必須使用引數 deploy 執行這些指令。

Application Server 8.x
  • Delegated Administrator 伺服器檔案 (resource.properties ) 的部署程序檔:

    config-appsvr8x-commcli

  • Delegated Administrator 主控台檔案的部署程序檔:

    config-appsvr8x-da

若要執行程序檔,請輸入這些指令:


# ./config-appsvr8x-commcli deploy
# ./config-appsvr8x-da deploy

您必須使用引數 deploy 執行這些指令。

使用服務範圍預設配置喜好的郵件主機

如果您想使用伺服器範圍預設值來設定 [喜好的郵件主機] 和 [喜好的郵件儲存],則可以執行本小節中所述的作業。

如果您需要從主控台 (特別是從 [新建組織精靈] 和 [組織特性] 螢幕) 移除 [喜好的郵件主機] 欄位,則應執行以下步驟:

Security.properties 檔案可讓您為所有角色或個別角色自訂 Delegated Administrator 主控台。

Procedure從主控台移除喜好的郵件主機

  1. Security.properties 檔案中增加下方顯示的內容。


    # Remove Preferred Mail Host from UI
    *.NewOrganizationPage6.PreferredMailHostProperty=INVISIBLE
    *.NewOrganizationSummaryPage.PreferredMailHostSummaryProperty=INVISIBLE
    *.OrgProperties.MailHostName=INVISIBLE
    *.OrgProperties.MailHostNameText=INVISIBLE
    *.OrgProperties.MailHostValue=INVISIBLE

    Security.properties 檔案位於以下目錄中:

    da-base /data/da/WEB-INF/classes/com/sun/comm/da/resources

    注意:您可以將這些行增加至此檔案以進行自訂,但請勿編輯已存在的行。編輯現有行會導致主控台上丟出異常。

  2. 將已編輯的 Security.properties 檔案重新部署至 Delegated Administrator 主控台所使用的 Web 容器。

    在變更生效之前,您必須執行能將自訂 Security.properties 檔案部署至 Web 容器的程序檔。

    如需如何將自訂特性檔案部署至特殊 Web 容器的說明,請參閱若要部署自訂配置檔案

Security.properties 檔案特性的語法和值

檔案中特性的格式為:Security Element Name=Permission

安全元素名稱的格式為:Role Name.Container View Name.Console Element Name

安全元素可指定主控台元素及為其定義權限的角色。如果您不知道元素名稱,請檢視頁面來源以將該頁面上的名稱與您感興趣的主控台元素進行對比。

該頁面上的名稱是完全合格的名稱。您只需挑選名稱的最後兩個元素,這兩個元素形成 Container View Name.Console Element Name

Delegated Administrator 的有效角色名稱如下:

「ProviderAdminRole」(SPA),如需有關此角色的資訊,請參閱附錄 A服務提供者管理員和服務提供者組織

「OrganizationAdminRole」(OA)

「Top-levelAdminRole」(TLA)

「*」(除非已將權限強加給特定角色,否則將其套用至所有角色)

權限必須是以下字串之一:

為 Delegated Administrator 增加外掛程式

您可以自訂 Delegated Administrator 以支援以下外掛程式:

啟用外掛程式

若要啟用這些外掛程式,請編輯 commcli servlet resource.properties 檔案,該檔案位於以下目錄中:


da-base/data/WEB-INF/classes/sun/comm/cli/server/servlet/ \
resource.properties

(依預設,da-base/opt/SUNWcomm。)

外掛程式位於 resource.properties 檔案中開頭如下的區段中:


########################
# Plugin Configuration #
##########################

每個都以「plugin」做為字尾。目前的清單如下:


jdapi-mailhoststoreplugin=disabled

jdapi-mailhoststorepluginclass=sun.comm.cli.server.util.MailHostStorePlugin
jdapi-mailhoststorepluginfile=/tmp/mailhostmailstore
jdapi-maildomainreportaddressplugin=enabled
jdapi-maildomainreportaddresspluginclass=sun.comm.cli.server.
  util.MailDomainReportAddressPlugin
jdapi-uidautogenerationplugin=disabled
jdapi-uidautogenerationpluginclass=sun.comm.cli.server.util.UidPlugin

在編輯 resource.properties 檔案後,將其重新部署至 Delegated Administrator 伺服器所使用的 Web 容器。

在變更生效之前,您必須執行能將自訂 resource.properties 檔案部署至 Web 容器的程序檔。

如需如何將自訂特性檔案部署至特殊 Web 容器的說明,請參閱若要部署自訂配置檔案

外掛程式格式

每個外掛程式都至少具有兩行,其格式如下:

若要啟用外掛程式,請將「disabled」變更為「enabled」。

提供了本小節中列出的所有外掛程式的外掛程式類別。這些類別位於以下目錄中:

da-base/data/WEB-INF/classes/sun/comm/cli/server/util

您無需對這些類別執行任何作業。

MailHostStorePlugin 所需的附加平面檔案

MailHostStorePlugin 需要包含在外掛程式第三行中的平面檔案。外掛程式讀取平面檔案中的值並用其設定屬性值。如果啟用外掛程式,則該檔案必須存在,否則將發生錯誤。

當建立 LDAP 物件時增加自訂物件類別

您可以啟用 Delegated Administrator 以將自訂物件類別增加至新使用者、群組、資源或組織的 LDAP 項目中。若要完成此作業,您可以透過 Access Manager 自訂安裝在目錄中的相應的物件建立範本。

例如,BasicUser 建立範本可決定建立新使用者時增加至使用者項目的物件類別和屬性。您可以使用自訂物件類別更新 BasicUser 建立範本。之後,自訂物件類別將與標準物件類別一起增加至每個新的使用者項目中。

以下程序說明如何自訂 BasicUser 範本。您可以依照相同的程序自訂 BasicGroup、BasicResource 和 BasicOrganization 建立範本。

Procedure將自訂物件類別增加至使用者建立程序

  1. 確定在目錄模式中定義自訂物件類別。

  2. 找到以下目錄項目:


    ou=basicuser,ou=creationtemplates,ou=templates,ou=default,
    ou=globalconfig,ou=1.0,ou=dai,ou=services,
    o=$Root_Suffix
    

    其中 $Root_Suffix 是目錄的根字尾。

  3. 將以下 attribute:value 增加至項目:


    sunkeyValue:required=objectClass=$Your_Custom_Objectclass.

    其中 $Your_Custom_Objectclass 是自訂物件類別。

自訂使用者登入

執行 Delegated Administrator 配置程式 (config-commda) 時,用於登入 Delegated Administrator 的值設定為 uid

例如,如果您想要以 TLA 的身份登入,且 TLA 的 uidjohn.doe,則應使用 john.doe 登入 Delegated Administrator。

您可以自訂 Delegated Administrator,以便可以使用使用者登入的附加值。例如,您可以增加郵件位址 (mail)。

如何設定使用者登入值

config-commda 程式可使用 resource.properties 檔案中的 loginAuth-idAttr 特性將此值設定為 uid,如以下範例所示:


loginAuth-searchBase=<$rootSuffix>
servicepackage-cosdefbasedn = <$rootSuffix>
loginAuth-idAttr-1=uid

其中 <$rootSuffix> 是目錄的根字尾。

增加使用者登入值

您可以透過編輯 resource.properties 檔案來設定使用者登入的附加值。

resource.properties 檔案位於


da-base/data/WEB-INF/classes/sun/comm/cli/server/servlet/ \
resource.properties

例如,為了可以使用郵件位址 (如 john.doe@sesta.com) 登入,您應將以下行增加至 resource.properties 檔案:


loginAuth-searchBase=<$rootSuffix>
servicepackage-cosdefbasedn = <$rootSuffix>
loginAuth-idAttr-1=uid
loginAuth-idAttr-2=mail

其中 <$rootSuffix> 是目錄的根字尾。

請注意,您必須將增量增加至每個新值的 loginAuth-idAttr 特性。在此範例中,已增加第二個值,因此應將 -2 增加至 loginAuth-idAttr

您可以增加 loginAuth-idAttr 特性的多個實例:


loginAuth-idAttr-1=uid
loginAuth-idAttr-2=mail
| 
loginAuth-idAttr-n=<login-in value>

在編輯 resource.properties 檔案後,將其重新部署至 Delegated Administrator 伺服器所使用的 Web 容器。

在變更生效之前,您必須執行能將自訂 resource.properties 檔案部署至 Web 容器的程序檔。

如需如何將自訂特性檔案部署至特殊 Web 容器的說明,請參閱若要部署自訂配置檔案

新使用者需要服務套裝軟體

依預設,Delegated Administrator 可讓您建立新使用者,但不會為該使用者指定服務套裝軟體。

您可以變更預設,讓所有新使用者都必須至少具有一個服務套裝軟體。

Procedure要求新的使用者具有服務套裝軟體

  1. 在文字編輯器中開啟 daconfig.properties 檔案。

    依預設,daconfig.properties 檔案位於以下目錄中:

    da-base /data/da/WEB-INF/classes/com/sun/comm/da/resources

  2. user.atleastOneServicePackage 特性的值從 false 變更為 true

    依預設,此值為 false

    例如:

    user.atleastOneServicePackage=true

    將此值設定為 true 後,當您使用 Delegated Administrator 主控台中的 [建立新使用者] 精靈時,必須至少指定一個服務套裝軟體以成功建立新使用者。

  3. 將已編輯的 daconfig.properties 檔案重新部署至 Delegated Administrator 主控台所使用的 Web 容器。

    在變更生效之前,您必須執行能將自訂 daconfig.properties 檔案部署至 Web 容器的程序檔。

    如需如何將自訂特性檔案部署至特殊 Web 容器的說明,請參閱若要部署自訂配置檔案

增加新的行事曆時區

您可以透過增加新的 Calendar Server 時區來自訂 Delegated Administrator。Delegated Administrator 便可使用新時區佈建組織、使用者、群組和資源。

若要增加新時區,請執行以下作業。若要使用 Delegated Administrator 公用程式管理新時區,您只能執行第一個作業。若要透過 Delegated Administrator 主控台管理新時區,您必須執行兩個作業。

在增加新時區後,您可以執行以下作業將其設定為新建立使用者的預設時區:

Procedure在 Delegated Administrator 中增加新時區

在您可以使用 commadmin 公用程式或 Delegated Administrator 主控台以新時區佈建使用者之前,您必須先執行此作業。此作業會以新的時區值來更新 Access Manager。在完成此作業之後,您可以使用 commadmin 將新時區指定給使用者。

  1. 在 Calendar Server 中增加時區。

    若要完成此步驟,您必須編輯 timezones.ics 檔案及其他 Calendar Server 檔案。如需說明,請參閱「Sun Java System Calendar Server 管理指南」中「管理 Calendar Server 時區」一章中的「增加新時區」。

  2. 備份 UserCalendarService.xmlDomainCalendarService.xml 檔案。

    依預設,xml 檔案位於以下目錄中:

    da-base/lib/services

  3. 編輯 UserCalendarService.xmlDomainCalendarService.xml 檔案,以在 Delegated Administrator 中增加新時區。

    • UserCalendarService.xmlDomainCalendarService.xml 檔案中找到以下項目標題:


      <AttributeSchema name="icstimezone"
                                  type="single choice"
                                  syntax="string"
                                  any="optional|adminDisplay">
                                  <ChoiceValues>
    • 將新的時區值增加至 <ChoiceValues> 清單中。

  4. 執行 Access Manager amadmin 公用程式,以刪除目前的服務並增加已更新的服務。

    對於 UserCalendarService.xmlDomainCalendarService.xml 檔案,執行以下 amadmin 指令:


    ./amadmin -u <admin> -w <password> -r CalendarService
    

    ./amadmin -u <admin> -w <password> 
    -s da_base/lib/services/CalendarService.xml

    其中,CalendarServiceUserCalendarService DomainCalendarService


    備註 –

    如果您還想將新時區設定為預設時區,則可以在執行這兩項作業後執行這些 amadmin 指令。如需詳細資訊,請參閱變更 Delegated Administrator 中的預設時區


  5. 重新啟動 Web 容器,以使變更生效。

  6. 若要啟用 Delegated Administrator 主控台以顯示新時區,請參閱在 Delegated Administrator 主控台中顯示並管理新時區

Procedure在 Delegated Administrator 主控台中顯示並管理新時區

此作業會將新時區增加至主控台中顯示的時區清單。之後該作業會將新的時區值儲存在目錄中。

若要在主控台中顯示時區,您必須將新值增加至 Resources.properties 檔案中。

若要讓主控台將時區儲存在目錄中,您必須將新值增加至 daconfig.properties 檔案的兩個清單中。第一個清單會指定儲存在 LDAP 目錄中的實際值。第二個清單可讓主控台將時區的顯示值 (可能已本土化) 對映至儲存的值。

  1. 編輯 Resources.properties 檔案,該檔案位於 Delegated Administrator 資料目錄下。

    依預設,Resources.properties 檔案位於以下目錄中:


    da-base/data/da/WEB-INF/classes/com/sun/ \
    comm/da/resources

    若要編輯 Resources.properties,請搜尋 rsrc.Timezone 特性,並將新時區增加至相應的清單中。您可以將新時區的該顯示值本土化。

  2. 在位於 Delegated Administrator 資料目錄之下的 daconfig.properties 檔案中找到時區值清單。

    依預設,daconfig.properties 檔案位於以下目錄中:


    da-base/data/da/WEB-INF/classes/com/sun/ \
    comm/da/resources

    若要尋找時區值的清單,請搜尋以下行:

    #Timezone values - only English

    這些是儲存在 LDAP 目錄中的值。新時區必須以英文顯示;這對於儲存在目錄中的值來說是必要的格式。

  3. 將新時區增加至清單。

    例如,若要將 America/Miami 增加至清單中,假設 Timezone1 目前有 24 個值,則增加

    rsrc.Timezone1-25=America/Miami

    該值將會是顯示在主控台 Americas 下拉式清單中的第 25 個時區。請注意,時區可能會以其他的語言顯示,視您在之前作業的 Resources.properties 檔案中所指定的語言而定。

  4. 找到 daconfig.properties 檔案中的反向時區對映清單。

    此清單會將本土化的時區值 (顯示在主控台中) 與您在上述步驟 2 中指定的實際值對映。

    若要尋找反向對映的清單,請搜尋以下行:

    #reverse timezone mappings - used by DA in getting localized tz value
  5. 將新值增加至反向對映清單中。

    例如,若要將 America/Miami 增加至清單中,您必須增加

    rsrcKey-America-Miami=rsrc.Timezone1-25
  6. 將已編輯的 daconfig.properties Resources.properties 檔案重新部署至 Delegated Administrator 主控台所使用的 Web 容器。

    在變更生效之前,您必須執行能將自訂 daconfig.properties 檔案部署至 Web 容器的程序檔。

    如需如何將自訂特性檔案部署至特殊 Web 容器的說明,請參閱若要部署自訂配置檔案

    在編輯並重新部署 daconfig.propertiesResources.properties 檔案後,新的時區將會顯示在 Delegated Administrator 主控台的適當清單方塊中。當您在 Delegated Administrator 主控台中選取時區並按一下 [儲存] 時,該時區將儲存在目錄中。

Procedure變更 Delegated Administrator 中的預設時區

  1. UserCalendarService.xmlDomainCalendarService.xml 檔案中編輯以下值:


    <DefaultValues>
                    <Value>America/Denver</Value>
    </DefaultValues>

    您可以在 xml 檔案的以下項目下找到 <DefaultValues>


    <AttributeSchema name="icstimezone"
  2. 執行 Access Manager amadmin 公用程式,以刪除目前的服務並增加已更新的服務。

    對於 UserCalendarService.xmlDomainCalendarService.xml 檔案,執行以下 amadmin 指令:


    ./amadmin -u <admin> -w <password> -r DomainCalendarService

    ./amadmin -u <admin> -w <password> 
    -s da_base/lib/services/DomainCalendarService.xml
  3. 重新啟動 Web 容器,以使變更生效。

防止新使用者存取 Instant Messaging

如果已安裝 Sun Java System Instant Messaging (IM) 並配置成使用 LDAP 來儲存使用者特性時,Delegated Administrator 建立一個新使用者,提供 IM 服務存取權限所需要的物件類別會自動增加至使用者的 LDAP 項目中。

您可以防止新使用者在使用者建立期間取得必要的 IM 物件類別。您可以變更 Delegated Administrator 伺服器 resource.properties 檔案中的特性值。

Procedure停用新使用者的 Instant Messaging 服務

  1. 在文字編輯器中開啟 resource.properties 檔案。

    依預設,resource.properties 檔案會位於 Delegated Administrator 安裝路徑的原始 (標準) 位置中:

    da-base/data/WEB-INF/classes/sun/comm/cli/server/servlet

  2. im-provision 特性的值從 true 變更為 false

    依預設,該值為 true

    例如:

    im-provision=false

  3. 將已編輯的 resource.properties 檔案重新部署至 Delegated Administrator 伺服器所使用的 Web 容器。

    在變更生效之前,您必須執行能將自訂 resource.properties 檔案部署至 Web 容器的程序檔。

    如需如何將自訂特性檔案部署至特殊 Web 容器的說明,請參閱若要部署自訂配置檔案