本节介绍管理 LDAP 数据库中的用户条目的概念性信息和说明。但并不包括创建用户条目。有关创建用户条目的信息,参见14.1 创建日历用户 LDAP 条目。
对于 Schema 版本 2 LDAP 用户条目,使用 Delegated Administrator 实用程序或控制台来管理用户,而对于 Schema 版本 1 LDAP 用户条目,使用 csuser 实用程序来管理用户。
本节中介绍的管理任务有:
本节显示两个使用 Calendar Server 实用程序命令 csuser list 的示例,一个示例是获取所有日历用户列表,另一个示例是显示特定用户的日历属性(从 LDAP 用户条目)。
本节包含以下主题:
要显示所有已启用日历操作的用户,可使用以下命令行实用程序:
csuser list
要显示某个用户的所有日历属性,可发出以下命令行实用程序:
csuser -v list fully-qualified-user-name
例如,如果用户是属于 sesta.com 域的 jsmith,命令行将如下所示:
csuser -v list jsmith@sesta.com
禁用用户的目的是阻止用户登录 Calendar Server。根据创建用户所使用的用户管理工具,禁用用户的处理方法不尽相同。在 Delegated Administrator 控制台中创建的用户,也应使用该控制台进行管理。同样地,如果是使用 Delegated Administrator 实用程序为用户指定了日历服务,也应使用该实用程序删除日历服务。每一种情况的处理方法都有所相同。
本节包含以下主题:
在 Delegated Administrator 控制台中,无法仅临时禁用用户。必须从用户删除日历服务。要执行此操作,从“用户列表”页面中选择用户。在该用户的“属性”中,删除带有日历服务的服务软件包。该操作将禁止用户访问日历,还会将用户的 icsStatus 设置为 inactive。
如果该软件包还包含其他服务,则必须用不包含日历的另一个软件包重新指定这些服务。
要禁止用户访问日历服务,请从用户的 LDAP 条目删除该服务,如下例所示:
commadmin user delete jsmith -S cal
此命令会从用户删除日历服务,但并不完全删除 LDAP 条目。此外,该命令将把用户的 icsStatus 更改为 inactive。
disable 命令将禁止用户访问日历数据,但它并不从用户的 LDAP 条目或 Calendar Server 数据库删除日历服务。实用程序会通过将 icsAllowedServiceAccess="http" 添加到用户 LDAP 条目来标识被禁用的用户。
例如,可使用以下命令禁止 jsmith 访问 Calendar Server:
csuser disable jsmith
如果 jsmith 当前已经登录 Calendar Server,则在注销之前 jsmith 将一直拥有对日历数据的访问权。
要从用户删除日历服务,可使用 csuser 实用程序 reset 命令。
例如,要从 jsmith 删除日历服务,可使用如下命令:
csuser reset jsmith
执行此命令会从用户的 LDAP 条目(包括 icsCalendarUser(对象类)、icsSubscribed、icsCalendarOwned、icsCalendar 和 icsDWPHost(如果使用 LDAP CLD))中删除所有日历属性。Calendar Server 管理员将不能再以该用户的名义创建日历。
出现以下任一情况时,将恢复用户的日历服务:
用户(在打开自动置备的情况下)再次登录 Calendar Server。
Calendar Server 管理员发出 csuser enable 命令。但是,在此情况下,此命令无法恢复 icsDWPHost 属性。必须单独添加该属性。
Calendar Server 管理员特意将对象类和属性添加到用户 LDAP 条目。
您最近已迁移到 Schema 版本 2 并使用 Delegated Administrator 来添加日历服务。
本节介绍如何为用户启用日历服务。
创建用户后,通常会为其启用日历服务。不过也可能禁用某个用户。要重新为用户启用日历服务,必须使用本节中的某种方法。
使用 Delegated Administrator 控制台和实用程序启用用户的方法会略有不同。因此,应使用同一工具来启用和禁用用户。请勿使用一个工具禁用用户,又使用另一工具来重新启用用户。
本节包括以下启用用户的方法:
无法从控制台禁用用户。可先删除日历服务,然后再重新添加。要重新添加服务,可从“用户列表”页面选择用户,然后使用“指定服务软件包”向导将日历服务软件包添加到用户的 LDAP 条目。将自动启用该用户。
它也是用于添加日历服务的过程(14.5.4 为用户添加日历服务)。
Delegated Administrator 实用程序可使用以下方法之一启用用户:
通过将 icsStatus 更改为 active 来启用用户。
commadmin user modify -A icsStatus:active 可启用用户。
将日历服务添加到用户 LDAP 条目。
commadmin user modify -S cal
确保使用同一方法启用和禁用用户。如果尝试使用 Delegated Administrator 控制台启用用户,在使用 Delegated Administrator 实用程序禁用用户后(仅更改 icsStatus),系统将无法再添加服务,因为用户已拥有服务且用户仍将被禁用。
要为用户重新启用日历服务,可使用 csuser enable 从用户的 LDAP 记录中删除 icsAllowedServiceAccess="http"。
不必为使用旧的(Schema 版本 1)Calendar Server 实用程序创建的用户添加日历服务。但是,使用(Schema 版本 2)Delegated Administrator 时,可从用户的 LDAP 条目添加和删除日历服务。
要将日历服务添加到现有用户,使用以下工具之一:
14.5.4.1 使用 Delegated Administrator 控制台为用户添加日历服务(针对 Schema 版本 2)
14.5.4.2 使用 Delegated Administrator (commadmin user create) 为用户添加日历服务(针对 Schema 版本 2)
14.5.4.3 使用 Calendar Server 实用程序添加日历服务(针对 Schema 版本 1)。
可将日历服务添加到新用户和现有用户:
创建新用户时,使用“新建用户”向导为用户指定包含日历服务的服务软件包。将自动启用该用户。
对于现有用户,从“用户列表”页面选择用户,并使用“指定服务软件包”向导选择具有日历服务的服务软件包。将自动启用该用户。
创建新用户时添加日历服务,如以下示例所示:
commadmin user create jsmith -S cal
如果创建用户时没有添加日历服务,则可以在以后使用 modify 命令为用户添加日历服务,如以下示例所示:
commadmin user modify jsmith -S cal
如果在创建用户条目时使用 csuser create,则实用程序会通过将 icsCalendarUser 及其属性添加到用户 LDAP 条目来为用户指定日历服务。
一种拒绝为用户指定日历服务的方法是从用户条目中删除服务。另一种方法是临时禁用用户。这些内容在之前的14.5.2 禁用日历用户一节中都有介绍。
如果需要为日历用户设置电子邮件别名,可将 mailalternateaddress 属性添加到用户的 LDAP 条目。mail 属性提供了主电子邮件地址,而 mailalternateaddress 属性提供了电子邮件别名。这两个属性都将邮件地址映射到用户的日历 ID (calid)。
可通过以下三种方法来添加属性:
使用 commadmin user modify -A 或使用 ldapmodify 直接更新 LDAP。
要启用这些更改,可能还需要重新生成别名表或别名配置。请参阅 Messaging Server(或您的电子邮件产品)的文档,以及您站点上关于更改邮件服务的文档和过程。可在以下位置获得 Messaging Server 文档:http://docs.sun.com/coll/1312.2 及 http://docs.sun.com/coll/1392.2。
Delegated Administrator 联机帮助。
可为日历用户设置电子邮件别名(与向用户传送消息一样),只需将 mailalternateaddress 添加到 LDAP 条目。要通过 Delegated Administration 实用程序添加属性,使用 commadmin user modify -A mailalternateaddress:value。
要为用户添加电子邮件别名,使用 csattribute add -a 命令将 mailalternateaddress 属性添加到用户条目。
例如,要为具有以下值的用户 John Smith 添加两个别名:
mail 属性为:johnsmith@sesta.com
电子邮件别名:johns@sesta.com 和 jsmith@sesta.com
命令类似如下:
csattribute -a mailalternateaddress=johns@sesta.com add johnsmith@sesta.com
csattribute -a mailalternateaddress=jsmith@sesta.com add johnsmith@sesta.com
本节说明如何验证日历服务。
使用以下工具验证用户是否具有日历服务。
如果存在“日历服务详细信息”页面,则表示其具有日历服务。也可在服务软件包详细信息中查看所列出的服务类型。
使用以下命令列出所有与用户相关的目录属性:
commadmin user search
使用以下命令检查是否为用户启用了日历服务:
csuser check
使用 Delegated Administrator 或 Calendar Server 实用程序从 LDAP 删除用户。
使用以下两种方法之一从 LDAP 数据库中删除用户:
没有 undelete 命令。
一旦使用 Delegated Administrator 删除了域中的用户,就必须清除这些用户并从头重新添加。清除之前,无法重新使用用户名。
您可以通过任何一个 Delegated Administrator 界面标记要删除的用户,但是,无法使用 Delegated Administrator 控制台实际从 LDAP 删除(清除)用户。必须使用 Delegated Administrator 实用程序清除用户。以下任务列出了从 LDAP 删除用户的步骤。完成最后一个步骤之前,不会真正从 LDAP 删除用户。
标记要删除的用户条目。
对于 Delegated Administrator 控制台:从“用户列表”页面中选择要删除的用户,并单击“删除”。
对于 Delegated Administrator 实用程序:使用 commadmin user delete 命令。例如:
commadmin user delete -D chris -n siroe.com -w bolton -l jsmith
两种情况中,用户 LDAP 条目中的 icsStatus 属性都从 active 更改为 deleted。
使用 Calendar Server 实用程序的 csclean 在一个或所有域中删除属于所有已删除用户的所有日历,如下例所示:
csclean clean“*”
或指定实际的域以删除属于该域中所有已删除用户的日历,如下例所示:csclean clean sesta.com
如果在删除用户日历之前,不小心从 LDAP 清除了用户,您可以稍后使用 cscal 实用程序删除日历,如15.6 管理用户日历所述。
使用 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》。
使用 Calendar Server 实用程序 csuser 的 delete 命令删除指定用户的 LDAP 条目及其默认日历。
例如,要删除用户 jsmith 的 LDAP 条目和默认日历,请使用以下命令:
csuser delete jsmith
如果您希望删除属于该用户的其他日历,则必须使用 cscal,如15.6 管理用户日历所述。
如果需要更改一个或多个用户 ID,运行 csrename 实用程序。
此实用程序将执行以下步骤:
转换 Calendar Server LDAP 属性(带有 ics 前缀)中的用户 ID。将对 LDAP 目录进行相应更新。
重命名 Calendar Server 数据库文件中的事件和任务中的用户。新的数据库将被写入到目标目录中。现有数据库文件不受影响。
请注意,即使只更改一个用户 ID,也会导致整个数据库被重写。因此,运行该实用程序要付出很大代价。
有关 csrename 实用程序的更多信息,参见附录 D,Calendar Server 命令行实用程序参考。
公共可写入日历为一个 Calendar Server 功能。可打开或关闭此功能。默认情况下启用此功能。以下任务显示如何编辑配置文件以更改设置。
如果启用此功能,可在生成邀请时计划(写入)日历。事件会自动添加到参与者的日历中。
如果禁用此功能,仅在生成邀请时日历所有者才会收到电子邮件通知。事件不会自动添加到参与者的日历中。只有所有者才可将事件和任务添加到日历中。
以具有配置权限的管理员身份登录。
发布 stop-cal 命令停止 Calendar Server 服务。
转至 /etc/opt/SUNWics5/cal/config 目录。
通过复制和重命名旧的 ics.conf 文件来保存该文件。
编辑下表所示的以下 ics.conf 参数:
参数 |
说明和默认值 |
---|---|
service.wcap. allowpublicwritablecalendars |
允许用户拥有可写入的公共日历。默认情况下,已启用(设置为 "yes")此功能。 |
将此文件另存为 ics.conf。
重新启动 Calendar Server。
cal-svr-base/SUNWics5/cal/sbin/start-cal