Sun Java System Calendar Server 6 2005Q4 管理指南

第 11 章 设置托管域

Calendar Server 支持托管(虚拟)域。在托管域安装中,所有域共享同一个 Calendar Server 实例,从而允许在同一台服务器上存在多个域。每个域都定义一个命名空间,其中的所有用户、组和资源都是唯一的。另外,每个域都有一组专门设置的属性和首选项。

本章介绍以下主题:


注 –

《Sun Java System Communications Services 6 2005Q4 Deployment Planning Guide》介绍了准备安装 Calendar Server 以使用托管域的所有必要步骤。



注意 – 注意 –

如果您的站点当前配置了多个 Calendar Server 实例或配置了受限制的虚拟域模式,请与 Sun Microsystems 销售代表联系,以确定您的迁移要求。


托管域概述

本节提供了托管域的概述,包括以下内容:

LDAP 目录的结构

在托管域安装中,LDAP 目录被组织成各不相同、互不交叉的多个部分,每一部分都代表域名系统 (DNS) 中的一个域。用户、组和资源 uid 在每个域中都是唯一的。例如,每个域中只能有一个 uidjdoe 的用户。每个标识名 (DN) 说明一个域的根。

Calendar Server 支持托管域的以下 LDAP 目录模式版本:

运行 Directory Server 设置脚本 (comm_dssetup.pl) 时,可以选择 LDAP Schema 1 或 LDAP Schema 2。请注意以下事项:

Sun LDAP Schema 2

下图显示了使用 Sun LDAP Schema 2 的托管域安装的 LDAP 目录结构。

图 11–1 使用 LDAP Schema 2 的 LDAP 目录结构

该图显示了一个纯 Schema 2 环境的示例,此环境中仅使用一个结构树而没有使用 DC 树。

LDAP Schema 2 使用平面的 LDAP 目录结构,即所有域均在同一级上,没有嵌套。对于托管域安装,第一级条目(如图中 varriusDomainsestaDomainsiroeDomain 所示)在目录结构中必须平行。不能嵌套。

如果要使用 Access Manager 功能(如单点登录 [SSO]),或使用 Delegated Administrator 置备用户,则需要使用 Schema 2。然而存在使用两树模式(同时使用 DC 树和结构树)的混合情况,这与 Schema 1 非常类似,但使用的是 Schema 2 对象类和属性。这是 Schema 2 兼容模式,在配置程序 (csconfigurator.sh) 中称之为 Schema 1.5。

Sun LDAP Schema 1

下图显示了使用 Sun LDAP Schema 1 的托管域安装的 LDAP 目录结构示例。

此结构包含两个域管理树:DC 树和结构树 (OSI)

图 11–2 使用 LDAP Schema 1 的 LDAP 目录结构

该图显示了两树(Schema 1、LDAP 结构)的示例。

DC 树(节点)与 DNS 类似,它用于确定给定域名的域条目。LDAP 属性 inetdomainbasedn 指向基本 DN,基本 DN 是结构树(节点)中域用户、资源和组的根。在每个域中,Calendar Server 用户、资源和组的标识符必须唯一。


注 –

如果您的早期的 LDAP 配置中未包含 DC 树,为了使用 Schema 1 模式或 Schema 2 兼容模式,您必须按设置托管域环境中的说明自己创建 DC 树节点。


在使用 LDAP Schema 1 的托管域安装中,目录搜索需要完成以下两个步骤才能找到一个条目:

  1. 在 DC 树中,搜索操作定位包含 DN 值的域条目,该条目指向结构树中域的基本 DN(inetDomainBaseDN 属性)。

  2. 在结构树中,搜索操作定位域条目,然后在该条目的基本 DN 中搜索域中的用户、资源或组。

登录 Calendar Server

对于托管域安装,每个用户的用户 ID (uid ) 在该域中必须唯一。需要使用以下格式登录 Calendar Server:

userid[@domain-name]

如果省略 domain-name,Calendar Server 将使用由 ics.conf 文件中的 service.defaultdomain 参数指定的默认域名。因此,如果要登录默认域,只需提供 userid 即可。

对于非托管域环境的安装,则 domain-name 不是必需的元素。即使指定了域名,也将被系统忽略。

如果启用了自动置备,则用户首次登录时,Calendar Server 将为用户创建一个默认日历。有关日历创建的信息,请参见第 15 章,管理日历

登录权限取决于 icsStatusicsAllowedServiceAccess 属性。有关更多信息,请参见LDAP 属性和 property 名

交叉域搜索

默认情况下,用户只能在自己所属的域中搜索用户和组,以邀请他们加入事件。但如果满足以下条件,也可以进行交叉域搜索,以搜索不同域中的用户和组:

有关如何启用交叉域搜索的说明,请参见启用交叉搜索域

支持非托管域环境

Calendar Server 仍支持在非托管域(即,只有单个域)环境中运行。例如,如果已安装了现有 Calendar Server 版本 5 或更早的版本,则通过将 ics.conf 参数 service.virtualdomain.support 设置为 "no",您仍可以在单域环境中操作。另请参阅启用托管域

但是,仍需要将旧版本的组件数据库迁移到当前版本中。有关迁移的信息,请参见第 4 章,数据库迁移实用程序

设置托管域环境

本节包含了在 LDAP 中创建新托管域条目之前可能需要执行的基本任务。

  1. 运行数据库迁移实用程序。

    如果要从 Calendar Server 版本 5 迁移,请确保尝试设置托管域之前已经运行 cs5migratecsmigcsvdmig。可以从 Sun 的技术支持获得 cs5migrate 的最新版本。有关这些迁移实用程序的更多信息,请参见第 4 章,数据库迁移实用程序

  2. 如果尚未运行这些数据库迁移实用程序,请运行 comm_dsseetup.pl

    该命令将使用支持托管域所需的参数来更新 ics.conf 文件。

  3. 编辑 ics.conf 文件以启用托管域。

    下表列出并说明了 ics.conf 文件中用于支持托管域的配置参数。如果该表中列出的任一参数不在 ics.conf 文件中,请将该参数及其相关值添加到该文件中,然后重新启动 Calendar Server 以使这些值生效。

    参数 

    说明 

    service.virtualdomain.support

    启用 ("yes") 或禁用 ("no") 托管(虚拟)域模式支持。默认值为 "no"

    local.schemaversion

    指定 LDAP 模式的版本: 

    service.dcroot

    如果 local.schemaversion="1",则指定 LDAP 目录中 DC 树的根后缀。

    例如:"o=internet"

    在托管(虚拟)域模式下,Calendar Server 使用 service.dcroot 参数,而不是 local.ugldapbasednlocal.authldapbasedn 参数。

    相反,在非托管(虚拟)域模式下,Calendar Server 使用 local.ugldapbasedn 和 local.authldapbasedn 参数,而不是 service.dcroot 参数。

    service.schema2root

    如果 local.schemaversion="2",则指定包含所有域的根后缀。

    例如:"o=sesta.com"

    service.defaultdomain

    指定此 Calendar Server 实例的默认域。用于在登录过程中没有提供域名的情况。 

    例如:"red.sesta.com"

    service.loginseparator

    指定 Calendar Server 解析 "userid[login-separator ]domain" 时用于 login-separator 的分隔符字符串。Calendar Server 将依次尝试每一个分隔符。

    默认值为 "@+"

    service.siteadmin.userid

    指定域管理员的用户 ID。 

    例如:DomainAdmin@sesta.com

    service.virtualdomain.scope

    控制交叉域搜索: 

    • "primary" 仅在用户登录的域中搜索。

    • "select" 在允许搜索的所有域中搜索。

      默认值为 "select"

    local.domain.language

    指定域的语言。默认值为 "en"(英语)。

  4. 创建默认域条目。

    对于 Schema 2,默认域由 Delegated Administrator 配置程序 (config-commda) 来创建。

    对于 Schema 1,创建 DC 树的根后缀下的一个或多个级别的默认域(其中一个托管域),取决于 DC 树的结构。例如,如果根后缀为 o=internet,那么下一个级别的节点为 com,如Sun LDAP Schema 1中所示。但是,默认域将为更低级别的一个节点,例如 sesta.com。使用 csdomain 创建 DC 树节点,如以下示例所示:

    csdomain -n o=com,dc=com,o=internet create comcsdomain
        -n o=sesta.com,dc=sesta,dc=com,o=internet create sesta.com
  5. 启用默认域条目的日历服务。

    对于 Schema 1:使用 csattributeicsCalendarDomain 对象类添加到 o=sesta.com 域条目。

    对于 Schema 2:在配置 Delegated Administrator 之后,请修改默认域(由 Delegated Administrator 配置程序创建)以添加日历(和邮件)服务。在以下示例中,日历和邮件服务将被添加到托管域中:

    commadmin domain modify -D admin -w passwd -d defaultdomain -S cal,mail

  6. 在系统上创建所需的托管域。

    有关如何在 Schema 2 模式下添加托管域的说明,请参见创建新托管域

    要创建 Schema 1 托管域,请使用 csdomain create,如以下示例所示:

    csdomain -n o=red.sesta.com,dc=red,dc=sesta,dc=com 
       create red.sesta.com
  7. 启用新托管域的日历服务,如设置托管域环境中所述。

  8. 如果 calmaster 站点管理员用户尚不存在,则创建该用户。

    对于 Schema 2,使用 commadmin user create 命令来创建 calmaster 用户,如以下示例所示:

    commadmin user create -D admin -w passwd -F Calendar
        -L Administrator -l calmaster -W calmasterpasswd -d sesta.com -S cal

    注 –

    要使用 Delegated Administrator 控制台的“创新建用户”向导来创建 calmaster,请参见 Delegated Administrator 联机帮助。


    对于 Schema 1,使用 csuser 在结构树上创建 calmaster 用户,如以下示例所示:

    csuser o=sesta.com,o=rootsuffix -d sesta.com
        -g Calendar -s Administrator -ycalmasterpasswordcreate calmaster
  9. 如果从早期的非托管域环境 (Schema 1) 中 calmaster 站点管理员用户已经存在,则通过执行以下步骤将其移到默认域中:

    1. 执行现有 calmaster LDAP 条目的 LDAP 转储并将其保存在临时文件(例如 /tmp/calmaster.ldif)中。

    2. 使用 ldapdelete 删除结构树根后缀上的现有 calmaster LDAP 条目,如下所示:

      #ldapdelete -D "cn=Directory Manager" -w password 
         uid=calmaster,ou=People,o=rootsuffix
      
    3. 修改日历管理员的组条目(更新 uniqueMember 属性)以反映更改,如以下 LDIF 示例所示:


      dn:cn=Calendar Administrators,ou=Groups,o=rootsuffix
      changetype:modifyreplace:uniqueMember 
      uniqueMember:uid=calmaster,ou=People,o=sesta.com,o=rootsuffix
      

      不必将组条目移到托管域中。

  10. 更新所有的管理脚本,以使 WCAP 命令中的 calid 成为全限定名称。即,每个 calid 必须包含域名。例如:jsmith@sesta.com

使用由 Messaging Server 创建的域

如果 Messaging Server 已经创建了托管域,则可以为 Schema 1 或 Schema 2 下的日历启用这些托管域。本节包含以下主题:

在 Schema 1 Messaging 域中启用日历服务

要为日历服务启用域,请将以下对象类和两个属性添加到要为日历服务启用的每个域的 LDAP 域条目中:

有两种方法可以执行此操作:使用 csattribute add 命令或使用以下示例中所示的 ldapmodify:


dn:dc=sesta,dc=com,o=internet
 changetype:modify
 add:objectclass
 objectClass:icsCalendarDomain
 add:icsStatus
 icsStatus:active
 add:icsExtendedDomainPrefs
 icsExtendedDomainPrefs:domainAccess=@@d^a^slfrwd^g;anonymous^a^r^g;@^a^s^g
               

在 Schema 2 Messaging 域中启用日历服务

如果已经将现有的 Messaging Server LDAP 条目迁移到 Schema 2(使用 commdirmig)中,或在 Schema 2 模式中首次创建 Messaging Server LDAP 条目,请使用以下步骤以启用日历服务:

  1. 使用带 -S 选项的 Delegated Administrator 实用程序命令 commadmin domain modify 将日历服务添加到每个域中。

    或者,也可以使用 Delegated Administrator 控制台将包含日历服务的服务软件包分配到相应域中。要这样做时,请使用“结构列表”页上的“分配服务软件包”按钮。

  2. 使用带 -S 选项的 Delegated Administrator 实用程序命令 commadmin user modify 将日历服务添加到为日历启用的每个域中的每个用户。

    或者,也可以使用 Delegated Administrator 控制台将包含日历服务的服务软件包指定到相应域中的每个用户。要这样做时,请使用每个相应结构中“用户列表”页上的“指定服务软件包”按钮。

有关 commadmin 命令,请参见《Sun Java System Communications Services 6 2005Q4 Delegated Administrator Guide》

有关 Delegated Administrator 控制台的更多信息,请参见其联机帮助。

有关 commdirmig 的信息,请参见《Sun Java System Communications Services 6 2005Q4 Schema Migration Guide》