Sun Java System Communications Services 6 2005Q4 Delegated Administrator 指南

第 4 章 自訂 Delegated Administrator

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

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

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

本章說明以下主題:

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

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

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

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

Security.properties 檔案位於目錄 da_base/da/WEB-INF/classes/com/sun/comm/da/resources

若要從主控台移除 [喜好的郵件主機],請將下面顯示的各行增加至 Security.properties 檔案:


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

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

檔案中特性的格式為: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

外掛程式格式

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

若要啟用外掛程式,請將「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 檔案位於


da_base/data/WEB-INF/classes/sun/comm/cli/server/servlet/
resource.properties 中

增加使用者登入值

您可以透過編輯 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>

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

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

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

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

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

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


    /var/opt/SUNWcomm/da/WEB-INF/classes/com/sun/
    comm/da/resources/daconfig.properties
  2. user.atleastOneServicePackage 特性的值從 false 變更為 true

    依預設,此值為 false

    例如:

    user.atleastOneServicePackage=true

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

增加新的行事曆時區

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

增加時區後,您可以將其設定為新建立使用者的預設時區。

Procedure在 Delegated Administrator 中增加新時區

步驟
  1. 在 Calendar Server 中增加時區。

    若要完成此步驟,您必須編輯 timezones.ics 檔案及其他 Calendar Server 檔案。如需說明,請參閱「Sun Java System Calendar Server Administration Guide」中「Managing Calendar Server Time Zones」一章中的「Adding a New Time Zone」。

  2. 備份 UserCalendarService.xmlDomainCalendarService.xmlResources.properties 檔案。

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

    /opt/SUNWcomm/lib/services

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


    /var/opt/SUNWcomm/da/WEB-INF/classes/com/sun/ \
    comm/da/resources

    另外,確定在升級 Delegated Administrator 之前保留自訂配置資料,或重新執行 Delegated Administrator 配置程式。

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

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

    /opt/SUNWcomm/lib/services

    • 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 DomainCalendarService

    ./amadmin -u <admin> -w <password> -s $PATH/DomainCalendarService.xml

    備註 –

    如果您還想將新時區設定為預設時區,則可以在執行這兩項作業後執行這些 amadmin 指令。(以下作業說明如何變更預設時區。)


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

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 $PATH/DomainCalendarService.xml
  3. 重新啟動 Web 容器,以使變更生效。

Procedure將新時區增加至 Delegated Administrator 主控台

步驟

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

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


    /var/opt/SUNWcomm/da/WEB-INF/classes/com/sun/ \
    comm/da/resources

    若要編輯 Resources.properties,請搜尋 rsrc.Timezone 特性,並將新時區增加至相應的清單中。

    編輯此檔案之後,新時區將顯示在 Delegated Administrator 主控台中的相應清單方塊中。