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

第 14 章 管理用户和资源

本章介绍如何使用 Calendar Server 实用程序来管理用户和资源。本章包括以下各节:

用户管理工具

可以使用以下任意一种用户管理工具来管理日历用户和资源:


注 –

Delegated Administrator 不管理日历。要创建用户和资源的日历,请使用 Calendar Server 实用程序。



注 –

在某些情况下,即使您正在使用 Schema 2 和 Delegated Administrator,您仍需要使用某些 Calendar Server 命令行实用程序来执行一些特殊功能。如果确有此必要,本指南中面向任务的文档会告诉您应使用哪些实用程序。


创建用户和资源

本节提供有关管理新 Calendar Server 用户和资源的以下信息:

在 Schema 2 中创建新用户

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

为 Schema 1 创建新用户

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

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

为 Schema 2 创建新资源

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

为 Schema 1 创建新资源

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

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

有关 csresource 的更多信息,请参见csresource

添加所需的 mail 属性

Calendar Server 要求用户和资源拥有 mail 属性,该属性包含用户和资源的电子邮件地址。这使用户可以使用电子邮件地址或 calid 来搜索日历和资源。使用 Delegated Administrator 创建新用户时,它将自动添加 mail 属性。即使未为用户指定 mail 服务,也会自动添加该属性。


注 –

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

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

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

icsExtendedUserPrefs:ceNotifyEnable=1 
icsExtendedUserPrefs:ceNotifyEmail=jdoe@sesta.com

如果用户和资源是在早期版本的 Calendar Server (无需 mail 属性)中添加的,则可能需要将 mail 属性添加到现有的用户和资源 LDAP 条目中。

本节包含以下主题:

检查是否已设置 mail 属性

要检查是否设置了该属性,请使用带有 -v(详细)选项的 csattribute list 命令:

csattribute -v list Room100

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

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

将 Mail 属性添加到现有用户和资源

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

管理用户

创建用户后,请使用 csuser 实用程序执行以下管理任务:

显示用户信息

要列出所有日历用户或显示指定用户的日历属性,请使用 csuser 实用程序的 list 命令。

例如,可使用以下命令显示已启用日历操作功能的所有用户:

csuser list

要显示单个用户(例如 jsmith)的所有日历属性,请使用以下命令:

csuser -v list jsmith

禁用用户

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

本节包含以下主题:

Delegated Administrator 控制台

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


注 –

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


Delegated Administrator 实用程序 (commadmin user delete)

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

commadmin user delete jsmith -S cal

该命令禁止用户访问日历,但并不完全删除 LDAP 条目。此外,该命令将把用户的 icsStatus 更改为 inactive

Calendar Server 实用程序 (csuser disable)

disable 命令将禁止用户访问日历数据,但它并不从 LDAP 条目或 Calendar Server 数据库删除用户信息。该命令将把 icsStatus 属性从 active 更改为 inactive。在非托管域模式中,没有提供日历服务。

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

csuser disable jsmith

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

启用用户

要启用用户,请使用以下工具之一:

Delegated Administrator 控制台

您可以添加新用户和现有用户:

Delegated Administrator (commadmin user create)

创建用户时为用户启用日历服务,如以下示例所示:

commadmin user create jsmith -S cal

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

commadmin user modify jsmith -S cal

Calendar Server 实用程序 (csuser enable)

如果使用 csuser create 创建了用户条目,则将自动启用该用户。

如果一个用户向另一个未启用日历操作功能的用户(即,该用户没有默认日历)发送请求,Calendar Server 将向发送请求的用户返回错误消息“未找到日历”。

设置电子邮件别名

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

您可以使用 Calendar Server 实用程序 csattribute 添加该属性,也可以使用 ldapmodify 直接更新 LDAP。以下示例使用 csattribute


注 –

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



示例 14–1 使用 csattribute 添加电子邮件别名

例如,要为具有以下值的用户 John Smith 添加 mailalternateaddress 属性:

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

检查是否为用户启用了日历操作功能

要确定某个指定的用户是否在您的目录服务器中以及是否允许该用户访问 Calendar Server 数据,请使用 csuser 实用程序的 check 命令。

例如,可使用以下命令检查是否为 jsmith 启用了日历操作功能:

csuser check jsmith

如果 check 命令显示 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 实用程序删除日历,如管理用户日历所述。


  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》


在 Schema 1 环境中删除用户

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

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

csuser delete jsmith

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

仅适用于非托管域:取消删除标记为删除但尚未被清除的用户。

对于非托管域,要取消删除标记为删除但尚未被清除的用户,必须将用户的 icsStatus 属性重置为 active。您可以通过直接更改 LDAP 条目 (使用 ldapmodify)或使用 Calendar Server 实用程序 csattribute 来重置属性。

但是,在非托管域中,一旦用户被清除,您就只能从备份中恢复 LDAP 服务器信息。

重置用户的属性

要重置指定用户的所有日历 LDAP 属性的默认设置,请使用 csuser 实用程序的 reset 命令。

例如,可以使用以下命令将 jsmith 的所有日历属性重置为默认配置设置:

csuser reset jsmith

注 –

在重置日历用户后,将从用户的 LDAP 条目(包括 icsCalendarUser [对象类]、icsSubscribedicsCalendarOwnedicsCalendaricsDWPHost [如果在 LDAP CLD 设置中])中删除所有日历属性。Calendar Server 管理员将不能再以该用户的名义创建日历。

以下情况将恢复用户的 LDAP 条目中的这些属性:


重命名用户

如果需要更改一个或多个用户 ID,请运行 csrename 实用程序。此实用程序将执行以下步骤:


注 –

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

有关如何运行 csrename 实用程序的说明,请参见附录 D,Calendar Server 命令行实用程序参考


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

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

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

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

  4. 编辑下表中所示的 ics.conf 参数:

    参数 

    说明和默认值 

    service.wcap.

    allowpublicwritablecalendars

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

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

  6. 重新启动 Calendar Server。

    cal_svr_base/SUNWics5/cal/sbin/start-cal

管理资源

添加资源后,您可以使用 csresource 来管理这些资源:

Procedure列出资源

步骤
  1. 转至 sbin 目录。

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

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

    ./csresource -v list

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

为资源电子邮件设置 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

管理用户和资源的 LDAP 属性

使用 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

修改 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 不会将日历移动到新的后端主机。有关如何将日历从一个后端服务器移动到另一个后端服务器的说明,请参见管理用户日历