使用 Delegated Administrator 在 LDAP 目录中置备的每个用户和组都应具有服务包。一个用户或组可以具有多个服务包。
在运行 Delegated Administrator 配置程序 (config-commda) 时,可以选择让 config-commda 程序在目录中安装服务类模板样例。
有关服务类模板样例以及服务包中的可用邮件属性的信息,请参见第 1 章,Delegated Administrator 概述中的服务包。
您可以使用服务类模板样例来创建和分配服务包;但是这些模板样例只是一些示例。
您很可能会需要根据自定义的服务类模板来创建自己的服务包,使属性值适用于您的安装中的用户和组。
要创建您自己的服务包,可使用存储在 da.cos.skeleton.ldif 文件中的服务类模板,它位于以下目录中:
da-base/lib/config-templates
此文件是专门作为编写自定义服务类模板时所用的模板而创建的。配置 Delegated Administrator 时,未在 LDAP 目录中安装此文件。
da.cos.skeleton.ldif 文件包含参数化模板,对应于 Delegated Administrator 所提供的每个服务类定义:
standardUserMail
standardUserCalendar
standardUserMailCalendar
standardGroupMail
standardGroupCalendar
standardGroupMailCalendar
您可以通过使用 da.cos.skeleton.ldif 文件中的一个或多个参数化模板来创建自己的服务类模板。
da.cos.skeleton.ldif 文件中的服务类模板如下:
| # Templates for creating COS templates for service packages.
#
# There are six COS definitions :
#   standardUserMail
#   standardUserCalendar
#   standardUserMailCalendar
#   standardGroupMail
#   standardGroupCalendar
#   standardGroupMailCalendar
#
# Each definition can have zero or more COS templates which
# define specific values for the attributes listed in the 
# COS definition.
#
# Each COS definition points to a corresponding subdirectory
# in which COS templates for that definition (and no other
# definition) are found.  The templates directory structure
# is as follows:
# standardUserMail	      => o=mailuser,o=costemplates,<ugldapbasedn>
# standardUserCalendar      => o=calendaruser,o=costemplates,
#                               <ugldapbasedn>
# standardUserMailCalendar  => o=mailcalendaruser,o=costemplates,
#                               <ugldapbasedn>
# standardGroupMail	      => o=mailgroup,o=costemplates,
#                               <ugldapbasedn>
# standardGroupCalendar	  => o=calendargroup,o=costemplates,
#                               <ugldapbasedn>
# standardGroupMailCalendar => o=mailcalendargroup,o=costemplates,
#                               <ugldapbasedn>
#
# Thus, all COS templates for the user mail service are found in the
# o=mailuser,o=costemplates,<ugldapbasedn> directory, etc.
#
# It is not necessary to have any templates for a given definition. 
# In that case default values are assumed for those attributes defined
# in the COS definition.
#
# If a template is created for a definition there should be at least
# one attribute with a defined value.
#
# Consult documentation for values for the attributes.  
# Documentation includes units and default values.
#
# The finished COS derived from this skeleton is added to the 
# directory with the following command:
# 
# ldapmodify -D <directory manager> -w <password> 
# -f <cos.finished.template.ldif>
#
#
############################################################
#
#	standardMailUser COS template
#
############################################################
# There must be a least one of the following attributes:
# - mailMsgMaxBlocks
# - mailQuota
# - mailMsgQuota
# - mailAllowedServiceAccess
#
dn: cn=<service package name>,o=mailuser,o=cosTemplates,
    <ugldapbasedn>
changetype: add
objectclass: top
objectclass: LDAPsubentry
objectclass: extensibleobject
objectclass: cosTemplate
cn: <service package name>
mailMsgMaxBlocks: <mailMsgMaxBlocksValue>
mailQuota: <ma:ilQuotaValue>
mailMsgQuota: <mailMsgQuotaValue>
mailAllowedServiceAccess: <mailAllowedServiceAccessValue>
daServiceType: mail user#
#
############################################################
#
#	standardCalendarUser COS template
#
############################################################
# There must be a least one of the following attributes:
# - icsPreferredHost
# - icsDWPHost
# - icsFirstDay
#
dn: cn=<service package name>,o=calendaruser,o=cosTemplates,
    <ugldapbasedn>
changetype: add
objectclass: top
objectclass: LDAPsubentry
objectclass: extensibleobject
objectclass: cosTemplate
cn: <service package name>
icsPreferredHost: <preferredHostValue>
icsDWPHost: <dwpHostValue>
icsFirstDay: <firstDayValue>
daServiceType: calendar user
#
#
############################################################
#
#	standardMailCalendarUser COS template
#
############################################################
# There must be a least one of the following attributes:
# - mailMsgMaxBlocks
# - mailQuota
# - mailMsgQuota
# - mailAllowedServiceAccess
#
dn: cn=<service package name>,o=mailcalendaruser,o=cosTemplates,
    <ugldapbasedn>
changetype: add
objectclass: top
objectclass: LDAPsubentry
objectclass: extensibleobject
objectclass: cosTemplate
cn: <service package name>
mailMsgMaxBlocks: <mailMsgMaxBlocksValue>
mailquota: <mailQuotaValue>
mailmsgquota: <mailMsgQuotaValue>
mailAllowedServiceAccess: <mailAllowedServiceAccessValue>
daServiceType: calendar user
daServiceType: mail user
#
#
############################################################
#
#	standardMailGroup COS template
#
############################################################
# There must be a least one of the following attributes:
# - mailMsgMaxBlocks
#
#
dn: cn=<service package name>,o=mailgroup,o=cosTemplates,
    <ugldapbasedn>
changetype: add
objectclass: top
objectclass: LDAPsubentry
objectclass: extensibleobject
objectclass: cosTemplate
cn: <service package name>
mailMsgMaxBlocks: <mailMsgMaxBlocksValue>
daServiceType: mail group
#
#
############################################################
#
#	standardCalendarGroup COS template
#
############################################################
# There must be a least one of the following attributes:
# - icsdoublebooking
# - icsautoaccept
#
#
dn: cn=<service package name>,o=calendargroup,o=cosTemplates,
    <ugldapbasedn>
changetype: add
objectclass: top
objectclass: LDAPsubentry
objectclass: extensibleobject
objectclass: cosTemplate
cn: <service package name>
icsdoublebooking: <doubleBookingValue>
icsautoaccept: <autoAcceptValue>
daServiceType: calendar group
#
#
############################################################
#
#	standardMailCalendarGroup COS template
#
############################################################
# There must be a least one of the following attributes:
# - icsdoublebooking
# - icsautoaccept
# - mailMsgMaxBlocks
#
#
dn: cn=<service package name>,o=mailcalendargroup,o=cosTemplates,
    <ugldapbasedn>
changetype: add
objectclass: top
objectclass: LDAPsubentry
objectclass: extensibleobject
objectclass: cosTemplate
cn: <service package name>
mailmsgmaxblocks: <mailMsgMaxBlocksValue>
icsdoublebooking: <doubleBookingValue>
icsautoaccept: <autoAcceptValue>
daServiceType: calendar group
daServiceType: mail group | 
 创建您自己的服务包的步骤
创建您自己的服务包的步骤复制并重命名 da.cos.skeleton.ldif 文件中的某一个参数化模板。
安装了 Delegated Administrator 后,da.cos.skeleton.ldif 文件将被安装在以下目录中:
da-base/lib/config-templates
选择 da.cos.skeleton.ldif 文件中的以下模板之一来进行复制和重命名:
| standardUserMail standardUserCalendar standardUserMailCalendar standardGroupMail | 
在模板副本中编辑以下参数:
<ugldapbasedn>
将根后缀参数 <rootSuffix> 更改为您的根后缀(例如 o=usergroup)。
<ugldapbasedn> 参数将显示在 DN 中。
<service package name>
将 <service package name> 参数更改为您自己的服务包名称。
<service package name> 参数将显示在 DN 和 cn 中。
邮件属性值:
| <mailMsgMaxBlocksValue> <mailQuotaValue> <mailMsgQuotaValue> <mailAllowedServiceAccessValue> | 
编辑这些值使其符合您的特定要求。
例如,可以为邮件属性输入以下值:
| mailMsgMaxBlocks: 400 mailQuota: 400000000 mailMsgQuota: 5000 mailAllowedServiceAccess: imap:ALL$+pop:ALL$+smtp:ALL$+http:ALL | 
日历属性值:
| <preferredHostValue> <dwpHostValue> <firstDayValue> | 
这些参数代表 LDAP 属性 icsPreferredHost、icsDWPHost 和 icsFirstDay 的值。
编辑这些值使其符合您的特定要求。
有关这些属性的定义和说明,请参见 Sun Java Communications Suite Schema Reference 中的第 3 章 "Messaging Server and Calendar Server Attributes"。
在自定义的服务类模板中,必须至少使用一个属性;但不必在自定义模板中使用全部四个邮件属性。可以从服务包中删除一个或多个属性。
使用 LDAP 目录工具 ldapmodify 将服务包安装到目录中。
例如,可以运行以下命令:
ldapmodify -D <directory manager> -w <password> -f <cos.finished.template.ldif>
其中
<directory manager> 是 Directory Server 管理员的用户名。
<password> 是 Directory Server 管理员的密码。
<cos.finished.template.ldif> 是编辑的 ldif 文件的名称,该文件要作为服务包安装在目录中。