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

注意:您可以向此文件中添加行以进行自定义,但是不能编辑已有的行。编辑现有的行会导致控制台中抛出异常。

文件中的属性的格式为:安全元素名=权限

安全元素名的格式为:职责名.容器视图名.控制台元素名

安全元素指定了要定义其权限的控制台元素和职责。如果不知道元素名称,请查看页来源,以使该页上的名称与您所需的控制台元素相匹配。

页面上的名称是全限定名。您只需挑选名称的后两个元素,其格式为容器视图名.控制台元素名

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 属性值必须是递增的。在本例中,添加的是第二个值,因此应向 loginAuth-idAttr 中添加 -2

可以添加多个 loginAuth-idAttr 属性实例:


          loginAuth-idAttr-1=uid 
            loginAuth-idAttr-2=mail 
            | 
            loginAuth-idAttr-n=<登录值>

要求为新用户指派服务包

默认情况下,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 管理指南中的“管理 Calendar Server 的时区”。

  2. 备份 UserCalendarService.xmlDomainCalendarService.xml 文件以及 Resources.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.xml DomainCalendarService.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 控制台内的相应列表框中。