Sun Java System Calendar Server 6.3 管理指南

第 10 章 设置多域 Calendar Server 6.3 环境

本章包含如何首次设置多域环境的概述材料和说明。


提示 –

在过去,将多域环境中的域称为 托管域虚拟域。在本文档中,这些术语可互换。


本章包含以下主题:

10.1 Calendar Server 版本 6.3 中的多域概述

Calendar Server 6.3 的特点是将多域作为默认值,并且将其作为组织用户和组 LDAP 条目的唯一方式。也就是说,根节点下必须至少有一个域,并且所有用户和组条目都必须在一个域节点下。在 Calendar Server 的较早版本中,使用域来包含用户和组条目是可选的。可在完全不使用域的情况下运行 Calendar Server。对于 Calendar Server 6.3 而言,情况将不再如此;必须至少有一个(默认)域。

在多域环境中,所有域共享同一个 Calendar Server 系统实例,从而允许在同一台服务器上存在多个域。每个域都定义一个命名空间,其中的所有用户、组和资源都是唯一的。另外,每个域都有一组专门设置的属性和首选项。域的所有用户和日历 ID 必须是全限定的。

配置程序会要求您提供设置默认域所必需的信息。在配置程序已完成且创建了需要的所有域后,在将用户和组 LDAP 条目复制到希望的域之前,必须通过运行迁移实用程序将非域用户和组 LDAP 条目转换为域就绪用户和组条目来准备用户和组条目。要运行的实用程序为 csmigcsvdmig

要从非域版本的 Calendar Server 升级到 Calendar Server 6.3,需做出以下几个选择:

如果在升级到当前版本之前已设置了托管(多)域,则不必更改用户 ID 和日历 ID。但是,需配置某些新的 ics.conf 参数,如下节中所示:10.4 Calendar Server 版本 6.3 中的多域模式所需的其他参数


注意 – 注意 –

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


10.2 首次设置 Calendar Server 版本 6.3 的多域环境

要从非域或单个域环境移动到多域环境,可能需要在创建任何 LDAP 条目之前执行以下任务:

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

    如果要从 Calendar Server 版本 5 迁移,需确保在尝试设置多域前已运行了 csmigcsvdmigcs5migrate csmigrate。有关这些迁移实用程序的更多信息,参见 第 3 章,Calendar Server 6.3 的数据库迁移实用程序

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

  3. 以有权更改此配置的管理员身份登录。

  4. 发布 stop-cal 命令停止 Calendar Server 服务。

  5. 编辑 ics.conf 文件以启用多域。

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

    参数 

    说明 

    service.virtualdomain.support

    启用 ("yes") 多域支持。默认值为 "yes"


    注 –

    即使打算在单个域中进行操作,也不要将此参数更改为 "no"。当前版本的 Calendar Server 需要将其设置为 "yes"


    local.schemaversion

    指定 LDAP 模式的版本:

    service.dcroot

    对于多域支持,它会替代 local.ugldapbasedn local.authldapbasedn

    如果 local.schemaversion="1"local.schemaversion="1.5",指定 DC 树(在其之下可找到所有域)的根后缀。

    例如:"o=internet"

    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"(英语)。

  6. 创建默认域条目。

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

    对于 Schema 版本 1,创建 DC 树的根后缀下的一个或多个级别的默认域(其中一个多域),取决于 DC 树的结构。例如,如果根后缀为 o=internet,则向下一级的节点可能是 com,如 10.3.3 Calendar Server 版本 6.3 的 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
  7. 启用默认域条目的日历服务。

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

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

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

  8. 在系统上创建所需数量的域。

    有关如何在 Schema 版本 2 模式中添加域的说明,参见13.2 创建新 Calendar Server 域

    要创建 Schema 版本 1 域,使用 csdomain create,如以下示例所示:

    csdomain -n o=red.sesta.com,dc=red,dc=sesta,dc=com 
       create red.sesta.com
  9. 为新域添加日历(以及邮件,如果需要的话)服务。

  10. 如果 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
  11. 如果从早期的非域环境 (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
      

      不必将管理员的组条目移动到域中。

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

10.3 Calendar Server 版本 6.3 中的多域功能如何影响模式选择

本节介绍可用于更好地理解实现多域的过程以及在选择模式版本时其必须执行的操作的概念性信息。

本节包含以下主题:

10.3.1 Calendar Server 版本 6.3 的多域概述与模式选择的含义

在多域安装中,LDAP 目录被组织成各不相同、互不交叉的多个部分,每一部分都代表域名系统 (Domain Name System, DNS) 中的一个域。用户、组和资源的唯一 ID 在每个域中都是唯一的。例如,每个域中只能有一个 uidjdoe 的用户。标识名 (Distinguished Name, DN) 是全限定域名。

Calendar Server 支持以下 LDAP 目录模式版本:Schema 版本 1 和 Schema 版本 2。在运行 Directory Server 安装脚本 (comm_dssetup.pl) 时,可选择 LDAP Schema 版本 1 或 LDAP Schema 版本 2。通常使用 Schema 版本 2,除非存在需使用 Schema 版本 1 的特定原因。

以下是使用 Schema 版本 1 的两种原因:

10.3.2 Calendar Server 版本 6.3 的 Sun LDAP Schema 版本 2

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

图 10–1 使用 LDAP Schema 版本 2 的 LDAP 目录结构

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

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

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

10.3.3 Calendar Server 版本 6.3 的 Sun LDAP Schema 版本 1

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

此结构包含两个域管理树:

图 10–2 使用 LDAP Schema 版本 1 的 LDAP 目录结构

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

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


注 –

如果较早的 LDAP 配置不包含 DC 树,要使用 Schema 版本 1 模式或 Schema 版本 2 兼容性模式,必须如10.2 首次设置 Calendar Server 版本 6.3 的多域环境中所介绍,自行创建 DC 树节点。但是,Schema 版本 2 为首选模式。


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

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

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

10.4 Calendar Server 版本 6.3 中的多域模式所需的其他参数

从 Calendar Server 6 开始,每个部署都配置有多域。如果要从较早版本的 Calendar Server 升级并且未配置有托管(多)域,则必须添加所用模式的参数,如下所示:

10.4.1 Calendar Server 版本 6.3 的 Schema 版本 1 的参数添加

如果尚不存在下列参数,则应将其添加到配置文件 (ics.conf) 中。

service.dcroot

service.defaultdomain

service.loginseparator

service.virtualdomain.support 设置为 "yes"

service.virtualdomain.scope

service.siteadmin.userid

service.siteadmin.cred

local.schemaversion 设置为 "1"

10.4.2 Calendar Server 版本 6.3 的 Schema 版本 2 的参数添加

如果尚不存在下列参数,则应将其添加到配置文件 (ics.conf) 中。

service.dcroot

service.defaultdomain

service.loginseparator

service.virtualdomain.support 设置为 "yes"

service.virtualdomain.scope

service.siteadmin.userid

service.siteadmin.cred

local.schemaversion 设置为 "2"

service.schema2root

10.5 Calendar Server 6.3 的登录

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

userid[@domain-name]

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

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

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

10.6 在 Calendar Server 版本 6.3 中执行从非域环境的迁移

Calendar Server 5.0 和更早的版本中都没有域。因此,用户和日历 ID 无需为全限定名称。即,它们不需要将域名作为 ID 的一部分,如 jdoe@domain.com。如果在安装当前版本的 Calendar Server 前,uidcalid 不是全限定名称,则无需改变数据。系统会将其遇到的所有非限定 uidcalid 假定为属于默认域。但是,如果要实现多域,则必须迁移 LDAP 和组件数据库,以指明每个用户属于哪个域。

另外,可能需要通过其他方法来迁移数据。有多种迁移程序。查看 第 3 章,Calendar Server 6.3 的数据库迁移实用程序 中的迁移信息。