服务包由 LDAP 目录中的服务类机制实现。此机制使您可以在配置 Delegated Administrator 时为目录中安装的预定义属性设置值。服务包会将服务的特征添加到用户或组条目。
Delegated Administrator 提供了服务类模板样例。
您也可以创建自己的服务包。
在 Delegated Administrator 控制台中,您可以将样例包和您自己的包指派给用户或组。
服务包包括以下组件:
Access Manager 服务
服务束(邮件服务和/或日历服务)
LDAP 对象(用户或组)
对于每一种服务定义,Delegated Administrator 都会自动提供 Access Manager 服务。当您将服务包指派给用户或组后,Delegated Administrator 会从服务定义中获取 Access Manager 对象类和属性,并将它们添加到 LDAP 条目。
请勿更改或删除任何服务包的 Access Manager 部分。
创建服务包后,您可以配置其服务束和 LDAP 对象。
Delegated Administrator 提供了两种服务:邮件服务和日历服务。
一个服务包可捆绑一项或多项服务,以及与该服务关联的一组属性。因此,单个服务包可以包含以下服务组合:
仅邮件服务
仅日历服务
邮件服务和日历服务
仅邮件服务包模板具有与邮件服务类定义相关联的 LDAP 属性。日历服务包模板不包括与日历服务定义相关联的属性。
服务包要么是为用户定义的,要么是为组定义的。您不能将同一个服务包同时指派给用户和组。
Delegated Administrator 提供的服务包包含以下服务束和 LDAP 对象:
用户邮件服务
用户日历服务
用户邮件服务和日历服务
组邮件服务
组日历服务
组邮件服务和日历服务
在 Delegated Administrator 中,组是 LDAP 目录中的条目,它由一组用户组成。组的特征不会传递给该组的成员用户。例如,当您将服务包指派给某个组时,该组的成员不会继承服务包的属性。目录中的用户条目不会从属于(不“属于”)组条目。
将邮件服务包指派给某个组后,该组就成为一个由 Messaging Server 使用的邮递列表。
当将日历服务指派到组时,组成员共享由 Calendar Server 管理的组邀请和其他日历信息。
邮件组没有自己的邮箱,发送到组地址的消息会传送到各个组成员的邮箱。
但是,日历组拥有自己的日历,发送到组的邀请会显示在组日历和各个组成员的日历上。
配置 Delegated Administrator 时,您可以选择安装一组预定义的服务类模板样例。Delegated Administrator 控制台将显示这些模板。
(当您运行配置程序时,请选择服务包和组织样例面板中的装入服务包样例。)配置程序会将 cos.sample.ldif 文件添加到 LDAP 目录。
您可以使用模板样例向用户和组提供服务和邮件属性。有关模板及其属性值的列表,请参见服务类模板样例。
图 1–7 显示了用户服务包模板。
图 1–8 显示了组服务包模板。
在 Delegated Administrator 控制台中,可执行以下服务包任务:
将服务包分配给各个组织。通过将部分(或全部)包分配给某个组织,将使这些包可供该组织中的用户或组使用。
对于每种包类型,可分配指定数量的包。
例如,可以为 ABC 组织分配 5000 个 gold 服务包、10000 个 venus 服务包和 500 个 atlantic 服务包。
将服务包指派给用户。
将服务包指派给组。
可以将多个服务包指派给一个用户或组。
将服务包指派给某个用户或组后,该服务包中的所有属性和值会自动被指派给该用户或组。
要仅将日历服务指派给用户,请使用 standardUserCalendar 服务包。日历服务不具有关联属性。
指派 standardUserCalendar 服务包等同于使用 commadmin user create 或 commadmin user modify 命令中的 -s cal 选项。
有关如何分配和指派服务包的说明,请参见 Delegated Administrator 控制台联机帮助。
本章中介绍的服务类模板只是作为示例。您很可能会需要创建自己的服务包,以使其带有的属性值与您的安装中的用户和组相应。
要创建自己的服务包,您可以使用存储在 da.cos.skeleton.ldif 文件中的服务类模板。此文件是专门为用作编写服务包时的模板而创建的。配置 Delegated Administrator 时,未在 LDAP 目录中安装此文件。
您可以复制和编辑 da.cos.skeleton.ldif 文件并使用一个 LDAP 目录工具(例如 ldapmodify)在目录中安装自定义的服务类模板。
Delegated Administrator 控制台会将您的自定义模板与示例模板一起显示。在该控制台中,服务类模板被称为服务包。当您可以将服务包指派给用户或组时,Delegated Administrator 会用完整的服务包(包括 Access Manager 服务)来填充该用户或组 LDAP 条目。
有关使用 da.cos.skeleton.ldif 文件来配置您自己的服务包的说明,请参见第 3 章,配置 Delegated Administrator中创建服务包。
您可以通过将任何属性添加到定义条目来扩展 Delegated Administrator 服务包的定义。
但是,在此版本的 Delegated Administrator 中,控制台仅允许您查看 Delegated Administrator 配置好后所提供的预定义属性。Delegated Administrator 控制台不会显示您添加到服务包定义的任何属性。
此外,在此版本中,您也不应从 Delegated Administrator 提供的服务类定义中删除预定义属性。
使用 Delegated Administrator 将服务包指派给某个用户或组后,会在 LDAP 目录中为该用户或组条目添加单个属性 (inetCOS)。inetCOS 属性的值会将整个服务包(包括服务和与其关联的属性)指派给该用户或组。(inetCOS 是一个多值属性。)
例如,假设您将 platinum 包指派给某个用户。以下属性会被添加到该用户条目:
inetCOS: platinum
platinum 包将向该用户提供邮件服务。此包还包含以下邮件属性值。因此,指派 platinum 包等同于将以下属性添加到用户条目:
mailMsgMaxBlocks: 800 mailQuota: 10000000 mailMsgQuota: 6000 mailAllowedServiceAccess: +imaps:ALL$+pops:ALL$+smtps:ALL$+http:ALL |
Access Manager 服务定义提供了邮件服务和/或日历服务所需的对象类和属性。当您指派服务包时,Delegated Administrator 会将这些对象类和属性添加到用户或组条目。
这些模板包含在 cos.sample.ldif 文件中。
邮件服务包括针对邮件用户定义的 LDAP 属性。表 1–2 中定义了这些属性。
表 1–2 可以在服务包中使用的邮件服务属性
属性 |
定义 |
---|---|
可以发送给用户或组的最大消息的大小,以 MTA 块为单位。 |
|
一种过滤器,用于指定哪些客户机可以访问特定的服务。例如:+imap:ALL$+pop:ALL$+smtp:ALL$+http:ALL |
|
允许向某一用户发送的最大消息数量(包括所有用户文件夹)。 |
|
允许该用户的邮箱占用的磁盘空间(以字节为单位)。 |
有关这些属性的详细信息,请参见 Sun Java System Communications Suite Schema Reference 中的第 3 章 "Messaging Server and Calendar Server Attributes"。
Platinum
mailMsgMaxBlocks: 800 mailquota: 10000000 mailmsgquota: 6000 mailAllowedServiceAccess: +imaps:ALL$+pops:ALL$+smtps:ALL$+http:ALL daServiceType: mail user |
Gold
mailMsgMaxBlocks: 700 mailquota: 8000000 mailmsgquota: 3000 mailAllowedServiceAccess: +imaps:ALL$+pops:ALL$+smtps:ALL$+http:ALL daServiceType: mail user |
Silver
mailMsgMaxBlocks: 300 mailquota: 6291456 mailmsgquota: 2000 mailAllowedServiceAccess: +pop:ALL$+imap:ALL$+smtp:ALL$+http:ALL daServiceType: mail user |
Bronze
mailMsgMaxBlocks: 700 mailquota: 5242288 mailmsgquota: 3000 mailAllowedServiceAccess: +pop:ALL$+imap:ALL$+smtp:ALL$+http:ALL daServiceType: mail user |
Ruby
mailMsgMaxBlocks: 600 mailquota: 1048576 mailmsgquota: 2000 mailAllowedServiceAccess: +pops:ALL$+smtps:ALL$+http:ALL daServiceType: mail user |
Emerald
mailMsgMaxBlocks: 600 mailquota: 2097152 mailmsgquota: 2000 mailAllowedServiceAccess: +pop:ALL$+smtp:ALL$+http:ALL daServiceType: mail user |
Diamond
mailMsgMaxBlocks: 5000 mailquota: 3145728 mailmsgquota: 3000 mailAllowedServiceAccess: +imaps:ALL$+smtps:ALL$+http:ALL daServiceType: mail user |
Topaz
mailMsgMaxBlocks: 3000 mailquota: 4194304 mailmsgquota: 2000 mailAllowedServiceAccess: +imap:ALL$+smtp:ALL$+http:ALL daServiceType: mail user |
无 (standardUserCalendar)
没有预定义服务类模板来提供日历服务和包含属性值。日历服务不具有关联属性。
因为不存在模板样例,所以 Delegated Administrator 会不使用模板而直接根据用户日历服务类定义来生成默认服务包。其名称与服务类定义的名称相同:standardUserCalendar。
此服务包仅提供日历服务。
以下模板样例对邮件服务和日历服务均适用。
Mercury
mailMsgMaxBlocks: 800 mailquota: 10000000 mailmsgquota: 6000 mailAllowedServiceAccess: +imaps:ALL$+pops:ALL$+smtps:ALL$+http:ALL daServiceType: mail user daServiceType: calendar user |
Venus
mailMsgMaxBlocks: 700 mailquota: 8000000 mailmsgquota: 3000 mailAllowedServiceAccess: +imaps:ALL$+pops:ALL$+smtps:ALL$+http:ALL daServiceType: mail user daServiceType: calendar user |
Earth
mailMsgMaxBlocks: 300 mailquota: 6291456 mailmsgquota: 2000 mailAllowedServiceAccess: +pop:ALL$+imap:ALL$+smtp:ALL$+http:ALL daServiceType: mail user daServiceType: calendar user |
Mars
mailMsgMaxBlocks: 700 mailquota: 5242288 mailmsgquota: 3000 mailAllowedServiceAccess: +pop:ALL$+imap:ALL$+smtp:ALL$+http:ALL daServiceType: mail user daServiceType: calendar user |
Atlantic
mailMsgMaxBlocks: 800 daServiceType: mail group |
Pacific
mailMsgMaxBlocks: 900 daServiceType: mail group |
Indian
mailMsgMaxBlocks: 1000 daServiceType: mail group |
Arctic
mailMsgMaxBlocks: 1200 daServiceType: mail group |
无 (standardGroupCalendar)
没有预定义服务类模板来向组提供日历服务和包含属性值。日历服务不具有关联属性。
因为不存在模板样例,所以 Delegated Administrator 会不使用模板而直接根据组日历服务类定义来生成默认服务包。其名称与服务类定义的名称相同:standardGroupCalendar。
此服务包仅(向组)提供日历服务。
以下模板样例将邮件服务和日历服务均应用于组。
Nile
mailMsgMaxBlocks: 1600 daServiceType: mail group daServiceType: calendar group |
Amazon
mailMsgMaxBlocks: 1800 daServiceType: mail group daServiceType: calendar group |
Thames
mailMsgMaxBlocks: 2000 daServiceType: mail group daServiceType: calendar group |
Danube
mailMsgMaxBlocks: 2200 daServiceType: mail group daServiceType: calendar group |
此版本的 Delegated Administrator 为每种服务包提供了服务类定义:
用户邮件服务
用户日历服务
用户邮件服务和日历服务
组邮件服务
组日历服务
组邮件服务和日历服务
当您对 Delegated Administrator 进行了配置,服务类定义就会安装在目录中。
在每个定义中,daServiceType 属性通过以下语法确定了服务包的类型:
daServiceType: <service type> <target>
其中 service type 为邮件服务、日历服务或邮件和日历服务,target 为用户或组。
用户邮件服务是在称为 standardUserMail 的服务类定义中的:
# # Definition for user mail service bundle # dn: cn=standardUserMail,<ugldapbasedn> changetype: add objectclass: top objectclass: LDAPsubentry objectclass: extensibleObject objectclass: cosSuperDefinition objectclass: cosClassicDefinition cosTemplateDn: o=mailuser,o=cosTemplates,<ugldapbasedn> cosSpecifier: inetCos cosAttribute: mailAllowedServiceAccess cosAttribute: mailMsgMaxBlocks cosAttribute: mailquota cosAttribute: mailmsgquota daServiceType: mail user 注意:当 Delegated Administrator 配置程序在目录中安装 standardUserMail 定义时,上面显示的变量 <ugldapbasedn> 将替换为您的根后缀(如 o=usergroup)。
daServiceType 属性将此定义为用户邮件服务。
用户日历服务是在称为 standardUserCalendar 的服务类定义中定义的:
# # Definition for user calendar service bundle # dn: cn=standardUserCalendar,<ugldapbasedn> changetype: add objectclass: top objectclass: LDAPsubentry objectclass: extensibleObject objectclass: cosSuperDefinition objectclass: cosClassicDefinition cosTemplateDn: o=calendaruser,o=cosTemplates,<ugldapbasedn> cosSpecifier: inetCos cosAttribute: icsPreferredHost cosAttribute: icsDWPHost cosAttribute: icsFirstDay daServiceType: calendar user 注意:当 Delegated Administrator 配置程序在目录中安装 standardUserCalendar 定义时,上面显示的变量 <ugldapbasedn> 将替换为您的根后缀(如 o=usergroup)。
daServiceType 属性将此定义为用户日历服务。
日历服务定义还包括日历属性,例如 icsPreferredHost。
但是 Delegated Administrator 没有提供为这些属性指定值的服务包模板。Delegated Administrator 控制台提供了一个仅带有日历服务的服务包:standardUserCalendar 服务包。此包不包含日历属性。
用户邮件服务和日历服务是在称为 standardUserMailCalendar 的服务类定义中定义的:
# # Definition for user mail and user calendar service bundle # dn: cn=standardUserMailCalendar,<ugldapbasedn> changetype: add objectclass: top objectclass: LDAPsubentry objectclass: extensibleObject objectclass: cosSuperDefinition objectclass: cosClassicDefinition cosTemplateDn: o=mailcalendaruser,o=cosTemplates,<ugldapbasedn> cosSpecifier: inetCos cosAttribute: icsPreferredHost cosAttribute: icsDWPHost cosAttribute: icsFirstDay cosAttribute: icsQuota cosAttribute: mailAllowedServiceAccess cosAttribute: mailMsgMaxBlocks cosAttribute: mailquota cosAttribute: mailmsgquota daServiceType: calendar user daServiceType: mail user 注意:当 Delegated Administrator 配置程序在目录中安装 standardUserMailCalendar 定义时,上面显示的变量 <ugldapbasedn> 将替换为您的根后缀。(如 o=usergroup)。
两个 daServiceType 属性条目将此定义为用户日历服务和邮件服务。
组邮件服务是在称为 standardGroupMail 的服务类定义中定义的:
# # Definition for group mail service bundle # dn: cn=standardGroupMail,<ugldapbasedn> changetype: add objectclass: top objectclass: LDAPsubentry objectclass: extensibleObject objectclass: cosSuperDefinition objectclass: cosClassicDefinition cosTemplateDn: o=mailgroup,o=cosTemplates,<ugldapbasedn> cosSpecifier: inetCos cosAttribute: mailMsgMaxBlocks daServiceType: mail group 注意:当 Delegated Administrator 配置程序在目录中安装 standardGroupMail 定义时,上面显示的变量 <ugldapbasedn> 将替换为您的根后缀(如 o=usergroup)。
daServiceType 属性将此定义为组邮件服务。
组日历服务是在称为 standardGroupCalendar 的服务类定义中定义的:
# # Definition for group calendar service bundle # dn: cn=standardGroupCalendar,<ugldapbasedn> changetype: add objectclass: top objectclass: LDAPsubentry objectclass: extensibleObject objectclass: cosSuperDefinition objectclass: cosClassicDefinition cosTemplateDn: o=calendargroup,o=cosTemplates,<ugldapbasedn> cosSpecifier: inetCos cosAttribute: icsdoublebooking cosAttribute: icsautoaccept daServiceType: calendar group 注意:当 Delegated Administrator 配置程序在目录中安装 standardGroupCalendar 定义时,上面显示的变量 <ugldapbasedn> 将替换为您的根后缀(如 o=usergroup)。
daServiceType 属性将此定义为组日历服务。
日历服务定义还包括日历属性,例如 icsdoublebooking。
但是 Delegated Administrator 没有提供为这些属性指定值的服务包模板。Delegated Administrator 控制台为组提供了一个仅带有日历服务的服务包:standardGroupCalendar 服务包。此包不包含日历属性。
用户邮件服务和日历服务是在称为 standardGroupMailCalendar 的服务类定义中定义的:
# # Definition for group mail and group calendar service bundle # dn: cn=standardGroupMailCalendar,<ugldapbasedn> changetype: add objectclass: top objectclass: LDAPsubentry objectclass: extensibleObject objectclass: cosSuperDefinition objectclass: cosClassicDefinition cosTemplateDn: o=mailcalendargroup,o=cosTemplates,<ugldapbasedn> cosSpecifier: inetCos cosAttribute: mgrpMsgMaxSize cosAttribute: mailMsgMaxBlocks daServiceType: calendar group daServiceType: mail group 注意:当 Delegated Administrator 配置程序在目录中安装 standardGroupMailCalendar 定义时,上面显示的变量 <ugldapbasedn> 将替换为您的根后缀(如 o=usergroup)。
这两个 daServiceType 属性条目将其定义为组日历服务和邮件服务。
在 LDAP 目录信息树 (Directory Information Tree, DIT) 中,服务类定义位于根后缀下一层节点中。因为它们存储在 DIT 的顶层,因此可以将服务包指派给目录中的所有用户条目。
图 1–9 显示了服务定义和服务包在 DIT 中的位置。
每种服务类模板位于各自的节点下。因此,为用户提供邮件服务的模板位于邮件用户节点下。这种结构使 Delegated Administrator 在将服务包指派给用户或组时能够使用正确的服务类定义(例如 standardUserMail)。
Delegated Administrator 使用典型的服务类定义。
有关服务类机制的详细信息,请参见 Sun Java System Directory Server 管理指南。具体请参见第五章“管理身份和角色”中的“定义服务类 (CoS)”。
Sun Java System Directory Server 管理指南中还介绍了相关的主题,例如,如果该单个用户条目中已经存在指派给用户的服务包所定义的属性,那么如何确定哪一个服务属性值优先。