Sun Java System Calendar Server 6.3 管理指南

第 14 章 管理用户、组和资源

本章介绍如何使用 Delegated Administrator 和 Calendar Server 实用程序管理用户、组和资源。

本章包括以下各节:

14.1 创建日历用户 LDAP 条目

本节说明如何创建新用户条目。

本节包含以下主题:

14.1.1 在 Schema 版本 2 模式下创建新日历用户

本节介绍如何针对 Schema 版本 2 LDAP 条目创建新的日历用户。

您可以使用 Delegated Administrator 控制台或实用程序:

14.1.2 针对 Schema 版本 1 模式创建新的日历用户

使用 csuser 实用程序。例如,要在 sesta.com 域中添加用户 jdoe,使用以下命令:

csuser -m jdoe@sesta.com -d sesta.com create jdoe

14.2 创建日历组 LDAP 条目

本节介绍如何创建新的组 LDAP 条目

本节包括以下说明:

14.2.1 针对 Schema 版本 2 模式创建新的日历组

组为命名的用户、资源或其他组(嵌套组)的列表。组可以为静态或是动态。


提示 –

组不能同时包含静态成员和动态成员。如果创建了空组,默认情况下将其视为静态组。


可使用以下工具之一:

14.2.2 针对 Schema 版本 1 模式创建新的日历组

直接添加组 LDAP 条目。使用在《Sun ONE Directory Server Resource Kit 5.2 Tools Reference》中列出的 Directory Server LDAP 命令。

组 LDAP 条目应包括 icsCalendarGroup 对象类,它是 GroupofUniqueNames 对象类的扩展。以下为可包括的属性:

属性 

说明 

groupid

这是组唯一的必需属性。它是组的唯一标识符,类似于用户的 uid

icsSecondaryowners

组的共有所有者。 

icsDefaultacl

新的组日历的 ACL 字符串。 

icsCalendar

该组的默认日历的 calid

组可以没有默认日历。 

icsStatus

组日历的状态。可能的值有:activeinactivedeleted

icsTimezone

组的时区。 

icsDWPHost

默认日历所在的后端主机的名称。 

icsDoublebooking

默认日历是否允许在同一时期安排多个事件。此属性优先于域级别首选项(icsAllowRights 的第 15 位)。有关组的域级别默认值的信息,参见为组配置 Calendar Server

icsAutoaccept

默认日历是否会自动接受邀请。 

mail

该组的电子邮件地址。 

owner

组的所有者 LDAP 条目的标识名。必须为唯一值。 


注 –

通过 GroupOfUniqueNames 对象类的属性 owner 指定主要所有者。


例如,组 LDAP 条目可能包括:

dn: groupid=mygroup, ou=group, o=sesta.com
objectclass:groupofuniquenames
objectclass:icsCalendarGroup
groupid:mygroup
owner:uid=jdoe, ou=people, o=sesta.com
icsSecondaryowners:uid=pfox, ou=people, o=sesta.com
icsStatus:active
uniqueMember: uid=wsmith, ou=people, o=sesta.com

有关对象类和属性的更多信息,参见《Sun Java System Communications Services 6 2005Q4 Schema Reference》

14.3 创建日历资源 LDAP 条目

本节描述如何创建新资源。

使用以下方法之一创建日历资源条目:

14.3.1 针对 Schema 版本 2 模式创建新的日历资源

本节说明如何在 Schema 版本 2 模式下创建新的资源 LDAP 条目。

您可以使用 Delegated Administrator 控制台或实用程序:

14.3.2 针对 Schema 版本 1 创建新的日历资源

使用 csresource 实用程序创建 LDAP 条目和资源日历。例如,要添加投影仪 p101,请使用以下命令:

csresource -m p101@siroe.com -c p101 create Projector_101

有关 csresource 的更多信息,参见D.15 csresource

14.4 将 mail 属性添加到用户、组和资源 LDAP 条目

本节介绍为 LDAP 条目启用邮件服务的概念性信息和说明。

本节包含以下主题:

14.4.1 将邮件服务添加到 Calendar Server LDAP 条目的概述

Calendar Server 要求用户、组和资源拥有 mail 属性,它包含用户、组或资源的电子邮件地址。这使用户可以使用电子邮件地址或 calid 来搜索日历。使用 Delegated Administrator 创建新用户时,它将自动添加 mail 属性。即使未为用户指定 mail 服务,也会自动添加该属性。然而,如果用户和资源是在一个无需 mail 属性的 Calendar Server 版本中创建的,则可能需要将 mail 属性添加到现有的用户和资源 LDAP 条目中。


注 –

添加 mail 属性并不启用针对用户日历的电子邮件通知。

Calendar Server 不支持针对组或资源日历的电子邮件通知。

要针对用户日历启用电子邮件通知,请将以下两个属性添加到用户的 LDAP 条目中:


14.4.2 检查 LDAP 条目中是否存在 mail 属性

如果不知道自己的用户、组和资源是否拥有 mail 属性,那么在 Schema 版本 2 环境中,使用 Delegated Administrator 来检查是否存在邮件服务。

对于 Schema 版本 1 环境,使用带有 -v(详细)选项的 csattribute list 命令。

例如,要检查会议室资源 Room100 是否拥有 mail 属性,应发出以下命令:

csattribute -v list Room100

输出说明了 mail 属性是否存在:

cn=Room 100,ou=conferenceRooms,dc=sesta,dc=com
 has mail: Room100@sesta.com

如果存在 mail 属性,则无需再添加此属性。如果不存在此属性,需按照以下章节中的介绍进行添加。

14.4.3 将 Mail 属性添加到 Calendar Server 版本 6.3 的现有用户、组和资源 LDAP 条目中

如果要将现有的 LDAP 条目转换到日历启用的条目,必须将 mail 属性添加到每个不包含此属性的用户、组和资源 LDAP 条目。

要将 mail 属性添加到现有用户、组和资源,使用以下方法之一:

14.5 管理现有用户

本节介绍管理 LDAP 数据库中的用户条目的概念性信息和说明。但并不包括创建用户条目。有关创建用户条目的信息,参见14.1 创建日历用户 LDAP 条目

对于 Schema 版本 2 LDAP 用户条目,使用 Delegated Administrator 实用程序或控制台来管理用户,而对于 Schema 版本 1 LDAP 用户条目,使用 csuser 实用程序来管理用户。

本节中介绍的管理任务有:

14.5.1 显示日历用户信息

本节显示两个使用 Calendar Server 实用程序命令 csuser list 的示例,一个示例是获取所有日历用户列表,另一个示例是显示特定用户的日历属性(从 LDAP 用户条目)。

本节包含以下主题:

14.5.1.1 显示所有已启用日历操作的用户

要显示所有已启用日历操作的用户,可使用以下命令行实用程序:

csuser list

14.5.1.2 显示特定用户的日历属性

要显示某个用户的所有日历属性,可发出以下命令行实用程序:

csuser -v list fully-qualified-user-name

例如,如果用户是属于 sesta.com 域的 jsmith,命令行将如下所示:

csuser -v list jsmith@sesta.com

14.5.2 禁用日历用户

禁用用户的目的是阻止用户登录 Calendar Server。根据创建用户所使用的用户管理工具,禁用用户的处理方法不尽相同。在 Delegated Administrator 控制台中创建的用户,也应使用该控制台进行管理。同样地,如果是使用 Delegated Administrator 实用程序为用户指定了日历服务,也应使用该实用程序删除日历服务。每一种情况的处理方法都有所相同。

本节包含以下主题:

14.5.2.1 使用 Delegated Administrator 控制台禁用用户

在 Delegated Administrator 控制台中,无法仅临时禁用用户。必须从用户删除日历服务。要执行此操作,从“用户列表”页面中选择用户。在该用户的“属性”中,删除带有日历服务的服务软件包。该操作将禁止用户访问日历,还会将用户的 icsStatus 设置为 inactive


注 –

如果该软件包还包含其他服务,则必须用不包含日历的另一个软件包重新指定这些服务。


14.5.2.2 使用 Delegated Administrator 实用程序 (commadmin user delete) 禁用用户

要禁止用户访问日历服务,请从用户的 LDAP 条目删除该服务,如下例所示:

commadmin user delete jsmith -S cal

此命令会从用户删除日历服务,但并不完全删除 LDAP 条目。此外,该命令将把用户的 icsStatus 更改为 inactive

14.5.2.3 使用 Calendar Server 实用程序 (csuser disable) 禁用用户

disable 命令将禁止用户访问日历数据,但它并不从用户的 LDAP 条目或 Calendar Server 数据库删除日历服务。实用程序会通过将 icsAllowedServiceAccess="http" 添加到用户 LDAP 条目来标识被禁用的用户。

例如,可使用以下命令禁止 jsmith 访问 Calendar Server:

csuser disable jsmith

如果 jsmith 当前已经登录 Calendar Server,则在注销之前 jsmith 将一直拥有对日历数据的访问权。

14.5.2.4 使用 Calendar Server 实用程序从用户删除日历服务

要从用户删除日历服务,可使用 csuser 实用程序 reset 命令。

例如,要从 jsmith 删除日历服务,可使用如下命令:

csuser reset jsmith

执行此命令会从用户的 LDAP 条目(包括 icsCalendarUser(对象类)、icsSubscribedicsCalendarOwnedicsCalendaricsDWPHost(如果使用 LDAP CLD))中删除所有日历属性。Calendar Server 管理员将不能再以该用户的名义创建日历。


注 –

出现以下任一情况时,将恢复用户的日历服务:


14.5.3 启用日历用户

本节介绍如何为用户启用日历服务。

创建用户后,通常会为其启用日历服务。不过也可能禁用某个用户。要重新为用户启用日历服务,必须使用本节中的某种方法。


注意 – 注意 –

使用 Delegated Administrator 控制台和实用程序启用用户的方法会略有不同。因此,应使用同一工具来启用和禁用用户。请勿使用一个工具禁用用户,又使用另一工具来重新启用用户。


本节包括以下启用用户的方法:

14.5.3.1 使用 Delegated Administrator 控制台启用用户

无法从控制台禁用用户。可先删除日历服务,然后再重新添加。要重新添加服务,可从“用户列表”页面选择用户,然后使用“指定服务软件包”向导将日历服务软件包添加到用户的 LDAP 条目。将自动启用该用户。


注 –

它也是用于添加日历服务的过程(14.5.4 为用户添加日历服务)。


14.5.3.2 使用 Delegated Administrator 实用程序启用用户

Delegated Administrator 实用程序可使用以下方法之一启用用户:


注意 – 注意 –

确保使用同一方法启用和禁用用户。如果尝试使用 Delegated Administrator 控制台启用用户,在使用 Delegated Administrator 实用程序禁用用户后(仅更改 icsStatus),系统将无法再添加服务,因为用户已拥有服务且用户仍将被禁用。


14.5.3.3 使用 Calendar Server 实用程序重新启用用户

要为用户重新启用日历服务,可使用 csuser enable 从用户的 LDAP 记录中删除 icsAllowedServiceAccess="http"

14.5.4 为用户添加日历服务

不必为使用旧的(Schema 版本 1)Calendar Server 实用程序创建的用户添加日历服务。但是,使用(Schema 版本 2)Delegated Administrator 时,可从用户的 LDAP 条目添加和删除日历服务。

要将日历服务添加到现有用户,使用以下工具之一:

14.5.4.1 使用 Delegated Administrator 控制台为用户添加日历服务

可将日历服务添加到新用户和现有用户:

14.5.4.2 使用 Delegated Administrator (commadmin user create) 为用户添加日历服务

创建新用户时添加日历服务,如以下示例所示:

commadmin user create jsmith -S cal

如果创建用户时没有添加日历服务,则可以在以后使用 modify 命令为用户添加日历服务,如以下示例所示:

commadmin user modify jsmith -S cal

14.5.4.3 使用 Calendar Server 实用程序添加日历服务

如果在创建用户条目时使用 csuser create,则实用程序会通过将 icsCalendarUser 及其属性添加到用户 LDAP 条目来为用户指定日历服务。

14.5.5 从用户 LDAP 条目删除日历服务

一种拒绝为用户指定日历服务的方法是从用户条目中删除服务。另一种方法是临时禁用用户。这些内容在之前的14.5.2 禁用日历用户一节中都有介绍。

14.5.6 为日历用户设置电子邮件别名

如果需要为日历用户设置电子邮件别名,可将 mailalternateaddress 属性添加到用户的 LDAP 条目。mail 属性提供了主电子邮件地址,而 mailalternateaddress 属性提供了电子邮件别名。这两个属性都将邮件地址映射到用户的日历 ID (calid)。

可通过以下三种方法来添加属性:

使用 commadmin user modify -A 或使用 ldapmodify 直接更新 LDAP。


注 –

要启用这些更改,可能还需要重新生成别名表或别名配置。请参阅 Messaging Server(或您的电子邮件产品)的文档,以及您站点上关于更改邮件服务的文档和过程。可在以下位置获得 Messaging Server 文档:http://docs.sun.com/coll/1312.2http://docs.sun.com/coll/1392.2


Procedure使用 Delegated Administrator 控制台设置电子邮件别名

  1. 选择用户所在的组织。

  2. 搜索用户。

  3. 单击用户名显示用户的属性。

  4. 编辑“邮件服务详细信息”以添加别名。

另请参见

Delegated Administrator 联机帮助。

14.5.6.1 使用 Delegated Administrator 实用程序设置电子邮件别名

可为日历用户设置电子邮件别名(与向用户传送消息一样),只需将 mailalternateaddress 添加到 LDAP 条目。要通过 Delegated Administration 实用程序添加属性,使用 commadmin user modify -A mailalternateaddress:value

14.5.6.2 使用 Calendar Server 实用程序 csattribute 设置电子邮件别名

要为用户添加电子邮件别名,使用 csattribute add -a 命令将 mailalternateaddress 属性添加到用户条目。

例如,要为具有以下值的用户 John Smith 添加两个别名:

命令类似如下:

csattribute -a mailalternateaddress=johns@sesta.com add johnsmith@sesta.com

csattribute -a mailalternateaddress=jsmith@sesta.com add johnsmith@sesta.com

14.5.7 验证用户是否具有日历服务

本节说明如何验证日历服务。

使用以下工具验证用户是否具有日历服务。

14.5.7.1 使用 Delegated Administrator 控制台检查用户是否具有日历服务

如果存在“日历服务详细信息”页面,则表示其具有日历服务。也可在服务软件包详细信息中查看所列出的服务类型。

14.5.7.2 使用 Delegated Administrator 实用程序检查用户是否具有日历服务

使用以下命令列出所有与用户相关的目录属性:

commadmin user search

14.5.7.3 使用 Calendar Server 实用程序 csuser 检查用户是否具有日历服务

使用以下命令检查是否为用户启用了日历服务:

csuser check

14.5.8 从 LDAP 数据库删除用户

使用 Delegated Administrator 或 Calendar Server 实用程序从 LDAP 删除用户。

使用以下两种方法之一从 LDAP 数据库中删除用户:


注意 – 注意 –

没有 undelete 命令。

一旦使用 Delegated Administrator 删除了域中的用户,就必须清除这些用户并从头重新添加。清除之前,无法重新使用用户名。


Procedure使用 Delegated Administrator 删除 Schema 版本 2 中的用户

您可以通过任何一个 Delegated Administrator 界面标记要删除的用户,但是,无法使用 Delegated Administrator 控制台实际从 LDAP 删除(清除)用户。必须使用 Delegated Administrator 实用程序清除用户。以下任务列出了从 LDAP 删除用户的步骤。完成最后一个步骤之前,不会真正从 LDAP 删除用户。

  1. 标记要删除的用户条目。

    对于 Delegated Administrator 控制台:从“用户列表”页面中选择要删除的用户,并单击“删除”。

    对于 Delegated Administrator 实用程序:使用 commadmin user delete 命令。例如:

    commadmin user delete -D chris -n siroe.com 
    -w bolton -l jsmith

    两种情况中,用户 LDAP 条目中的 icsStatus 属性都从 active 更改为 deleted

  2. 使用 Calendar Server 实用程序的 csclean 在一个或所有域中删除属于所有已删除用户的所有日历,如下例所示:

    csclean clean“*”

    或指定实际的域以删除属于该域中所有已删除用户的日历,如下例所示:csclean clean sesta.com


    提示 –

    如果在删除用户日历之前,不小心从 LDAP 清除了用户,您可以稍后使用 cscal 实用程序删除日历,如15.6 管理用户日历所述。


  3. 使用 Delegated Administrator 实用程序命令 commadmin domain purge 清除域中所有标记为删除的用户。

    例如:

    commadmin domain purge -D chris -d sesta.com -n siroe.com -w bolton

    在本示例中,将清除 sesta.com 中标记为已删除的所有用户,也就是永久删除。


    提示 –

    请经常手动运行此实用程序以清除 LDAP 目录。有关此命令的更多信息,参见《Sun Java System Communications Services 6 2005Q4 Delegated Administrator Guide》


14.5.8.1 在 Schema 版本 1 环境中删除用户

使用 Calendar Server 实用程序 csuserdelete 命令删除指定用户的 LDAP 条目及其默认日历。

例如,要删除用户 jsmith 的 LDAP 条目和默认日历,请使用以下命令:

csuser delete jsmith

如果您希望删除属于该用户的其他日历,则必须使用 cscal,如15.6 管理用户日历所述。

14.5.9 重命名日历用户

如果需要更改一个或多个用户 ID,运行 csrename 实用程序。

此实用程序将执行以下步骤:


注 –

请注意,即使只更改一个用户 ID,也会导致整个数据库被重写。因此,运行该实用程序要付出很大代价。

有关 csrename 实用程序的更多信息,参见附录 D,Calendar Server 命令行实用程序参考


14.5.10 关闭公共可写入日历功能

公共可写入日历为一个 Calendar Server 功能。可打开或关闭此功能。默认情况下启用此功能。以下任务显示如何编辑配置文件以更改设置。

如果启用此功能,可在生成邀请时计划(写入)日历。事件会自动添加到参与者的日历中。

如果禁用此功能,仅在生成邀请时日历所有者才会收到电子邮件通知。事件不会自动添加到参与者的日历中。只有所有者才可将事件和任务添加到日历中。

Procedure禁止用户拥有可写入的公共日历

  1. 以具有配置权限的管理员身份登录。

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

  3. 转至 /etc/opt/SUNWics5/cal/config 目录。

  4. 通过复制和重命名旧的 ics.conf 文件来保存该文件。

  5. 编辑下表所示的以下 ics.conf 参数:

    参数 

    说明和默认值 

    service.wcap.

    allowpublicwritablecalendars

    允许用户拥有可写入的公共日历。默认情况下,已启用(设置为 "yes")此功能。

  6. 将此文件另存为 ics.conf

  7. 重新启动 Calendar Server。

    cal-svr-base/SUNWics5/cal/sbin/start-cal

14.6 管理 Calendar Server 资源

本节介绍管理日历资源的概念性信息和说明。

添加资源后,可使用 Delegated Administrator 或 csresource 来管理这些资源。

本节包含以下主题:

14.6.1 检索资源的 LDAP 信息

本节说明如何检索资源的 LDAP 信息。

可使用以下三种工具之一从 LDAP 资源条目检索资源属性:

Procedure使用 Delegated Administrator 控制台检索资源信息

  1. 在 Delegated Administrator 控制台中,单击“日历资源”选项卡。

  2. 使用“搜索结果”下拉框选择以下选项之一:

    • 通过资源 ID 搜索日历资源

    • 通过日历资源名称搜索日历资源

  3. 键入要搜索的值。

  4. 单击“搜索”。

14.6.1.1 使用 Delegated Administrator 实用程序检索资源信息

使用 commadmin resource search 命令检索资源的 LDAP 信息。

例如,要在 sesta.com 域中搜索资源 CF101,可使用以下命令:

commadmin resource search -D serviceadmin -w serviceadmin -n sesta.com \s
-d sesta.com -u CF101

Procedure使用 csresource 检索资源信息

可使用 csresource 实用程序检索特定资源或所有资源的 LDAP 条目信息。

  1. 转至 sbin 目录。

  2. 使用 csresource list 命令列出一个或所有资源。

    例如,可输入以下命令列出关于所有资源的所有信息:

    ./csresource -v list

    或者列出有关特定资源 CF101 的所有信息:

    ./csresource

Procedure启用资源

  1. 转至 sbin 目录。

  2. 使用 csresource enable 命令启用一个或多个资源。

    例如,可使用以下命令启用 ConfRm12 资源:

    ./csresource -v enable ConfRm12

Procedure禁用资源

  1. 转至 sbin 目录。

  2. 使用 csresource disable 命令禁用一个或多个资源。例如,可使用以下命令禁用 ConfRm12 资源:

    ./csresource -v disable ConfRm12

Procedure删除资源

  1. 转至 sbin 目录。

  2. 使用 csresource delete 命令删除一个或多个资源。例如,可使用以下命令删除 ConfRm12 资源:

    ./csresource -v delete ConfRm12

14.6.2 为资源电子邮件设置 Bitbucket 通道

本节说明如何为 Messaging Server 和 Sendmail 设置 bitbucket 通道。使用 bitbucket 通道可以删除为资源日历生成的电子邮件。这些示例使用了 sesta.com 服务器上名为 Room100 的资源。如果不设置 bitbucket 通道(或等价机制),则需要定期删除发送至资源日历的电子邮件。

本节包含以下过程:

Procedure设置 Messaging Server bitbucket 通道

  1. 确保在 imta.cnf 文件中定义了 bitbucket 通道。

  2. 要将消息定向至 bitbucket 通道,使用 csattribute 实用程序为资源创建电子邮件地址:


    csattribute -a mail=Room100@bitbucket.sesta.com add Room100

Procedure设置 Sendmail bitbucket 通道

  1. 在相应主机上的 /etc/aliases 文件中添加如下条目:

    Resource/Conference room aliases Room100: /dev/null

  2. 使用 csattribute 实用程序将资源的电子邮件地址添加到 LDAP 目录中:

    csattribute -a mail=Room100@sesta.com add Room100

14.7 管理用户和资源的 LDAP 属性

可使用 D.3 csattribute 实用程序或 ldapmodify 管理 Calendar Server 使用的 LDAP 属性。可使用 csattribute 列出、添加或删除属性。要修改属性,使用 ldapmodify

本节包含以下主题:

Procedure列出 LDAP 条目属性

  1. 以安装过程中指定的运行 Calendar Server 的用户或组(例如 icsusericsgroup)身份登录,或以 root 登录。

  2. 转至 sbin 目录。

  3. 使用 csattribute list 命令列出用户或资源的属性。例如,要列出 tchang@sesta.com 的属性,可发出以下命令:

    ./csattribute -t user -d sesta.com list tchang

Procedure添加 LDAP 条目属性

  1. 以安装过程中指定的运行 Calendar Server 的用户或组(例如 icsusericsgroup)身份登录,或以 root 登录。

  2. 如果要立即识别此属性更改,请停止 Calendar Server。否则,您无需停止 Calendar Server。

  3. 转至 sbin 目录。

  4. 使用 csattribute add 命令为用户或资源添加属性。例如,要为用户 tchang 添加值为 Conference_Schedule 的 LDAP 属性 icsCalendar,使用以下命令:

    ./csattribute -a icsCalendar=Conference_Schedule add tchang@sesta.com

Procedure删除 LDAP 条目属性

  1. 以安装过程中指定的运行 Calendar Server 的用户或组(例如 icsusericsgroup)身份登录,或以 root 登录。

  2. 如果要立即识别此属性更改,请停止 Calendar Server。否则,您无需停止 Calendar Server。

  3. 转至 sbin 目录。

  4. 使用 csattribute delete 命令删除用户或资源的属性。例如,要删除用户 tchang 的值为 Conference_Schedule 的 LDAP 属性 icsCalendar,使用以下命令:

    ./csattribute -a icsCalendar=Conference_Schedule -t user -d sesta.com delete tchang

14.7.1 修改 LDAP 条目属性

要修改 LDAP 条目属性,使用 ldapmodify。例如,要更改 uid=tchang 所对应的用户的状态,按以下所示使用 ldapmodify 命令:


dn:uid=tchang,ou=people,o=sesta.com
 changetype: modify
 add: objectclass
 objectClass: icsCalendarUser
 add: icsStatus
 icsStatus: active

注 –

如果站点正在使用 LDAP CLD 插件,请勿尝试通过使用 csattribute 更改 icsDWPHost 的值将用户的日历从一个后端主机移动到另一个后端主机。修改 icsDWPHost 并不会将日历移动到新的后端主机。有关如何将日历从一个后端服务器移动到另一个后端服务器的说明,参见15.6 管理用户日历