Sun Java System Calendar Server 6.3 管理指南

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