![]() | |
Sun Java System Calendar Server 6 2005Q1 管理指南 |
第 14 章
管理用户和资源本章介绍如何使用 Calendar Server 实用程序来管理用户和资源。本章包括以下各节:
两种用户管理工具可以使用以下任意一种用户管理工具来管理日历用户和资源:
另请参阅本指南中的命令行实用程序参考:附录 D“Calendar Server 命令行实用程序参考”。
注
在某些情况下,即使您正在使用 Schema 2 和 Delegated Administrator 实用程序,您仍需要使用某些 Calendar Server 命令行实用程序来执行一些特殊功能。如果确有此必要,本指南中面向任务的文档会告诉您应使用哪些实用程序。
创建用户和资源本节提供有关管理新 Calendar Server 用户和资源的以下信息:
在 Schema 2 中创建新用户
使用 commadmin 实用程序的 user create 命令。例如,要在 sesta.com 域中添加用户 jdoe,请使用以下命令:
commadmin user create -D calmaster -F John -n sesta.com -k hosted -l jdoe -w calmasterpassword -W jdoepassword -L Doe -S cal -B red.sesta.com -E jdoe@sesta.com
有关 commadmin 实用程序的所有可用选项的详细信息,请参阅 Sun Java System Communications Systems Delegated Administrator 指南。
为 Schema 1 创建新用户
使用 csuser 实用程序。例如,要在 sesta.com 域中添加用户 jdoe,请使用以下命令:
csuser -m email -d sesta.com create jdoe
为 Schema 2 创建新资源
使用 commadmin 实用程序的 rescource create 命令。例如,要添加会议室 Conference_Room_100,其属主为 jdoe,请使用以下命令:
commadmin resource create -D calmaster -w calmasterpassword -n sesta.com -o jdoe -c room100 -N Conference_Room_100
为 Schema 1 创建新资源
使用 csresource 实用程序。例如,要添加投影仪 P101,请使用以下命令:
csresource -c p101 create P101
添加所需的 mail 属性
Calendar Server 要求用户和资源具有 mail 属性。这使用户可以使用电子邮件地址或 calid 来搜索日历和资源。使用 Delegated Administrator 实用程序 (commadmin) 创建新用户时,将自动添加 mail 属性。
但是,如果已在早期版本的 Calendar Server(无需 mail 属性时)中添加了用户和资源,则可能需要将 mail 属性添加到现有的用户和资源条目中。
本节包含以下过程:
检查是否已设置 mail 属性
要检查是否已设置了该属性,请使用带有 -v(详细)选项的 csattribute list 命令:
csattribute -v list Room100
输出说明了 mail 属性是否存在:
cn=Room 100,ou=conferenceRooms,dc=sesta,dc=com has mail:Room100@sesta.com
将 Mail 属性添加到现有的 Schema 1 用户和资源中
要将 mail 属性添加到现有的 Schema 1 用户和资源中,请使用 Calendar Server csattribute 实用程序。您还可以使用 ldapmodify 将该属性直接添加到 LDAP 条目中。
以下示例为位于 sesta.com 服务器上名为 "Room100" 的现有会议室添加 LDAP mail 属性:
csattribute -a mail=Room100@sesta.com add Room100
注
添加 mail 属性不会启用电子邮件通知。
要为用户日历启用电子邮件通知,请将以下两个属性添加到用户的 LDAP 条目中:
icsExtendedUserPrefs:ceNotifyEnable=1 icsExtendedUserPrefs:ceNotifyEmail=jdoe@sesta.com
日历不支持对资源日历的电子邮件通知。
管理用户创建用户后,请使用 csuser 实用程序执行以下管理任务:
显示用户信息
要列出所有日历用户或显示特定用户的日历属性,请使用 csuser 实用程序的 list 命令。
例如,可使用以下命令显示已启用日历操作功能的所有用户:
csuser list
要显示单个用户(例如 jsmith)的所有日历属性,请使用以下命令:
csuser -v list jsmith
禁用用户
要禁止用户登录 Calendar Server,请使用以下两种用户管理实用程序之一:
- commadmin user delete(Delegated Administrator 实用程序)
- csuser disable(Calendar Server 实用程序)
commadmin user delete
要禁止用户访问日历服务,请从该用户的 LDAP 条目中删除此服务,如以下示例所示:
commadmin user delete jsmith -S cal
csuser disable
disable 命令将禁止用户访问日历数据,但它并不从 LDAP 条目或 Calendar Server 数据库中删除用户信息。
例如,可使用以下命令禁止 jsmith 访问 Calendar Server:
csuser disable jsmith
如果 jsmith 当前已经登录 Calendar Server,jsmith 将一直拥有对日历数据的访问权,直到注销。
启用用户
要启用用户,请使用以下实用程序之一:
- commadmin user create(对于 Schema 2)
- csuser enable(对于 Schema 1)。
commadmin user create
创建用户时为用户启用日历服务,如以下示例所示:
commadmin user create jsmith -S cal
如果创建用户时没有为其启用日历服务,则可以在以后使用 modify 命令为用户添加日历服务,如以下示例所示:
commadmin user modify jsmith -S cal
csuser enable
如果在创建用户条目时使用了 csuser create,则该用户会被自动启用。
如果一个用户向另一个未启用日历操作功能的用户(即,该用户没有默认日历)发送请求,Calendar Server 将向发送请求的用户返回错误消息“未找到日历”。
设置电子邮件别名
如果需要为日历用户设置电子邮件别名,请使用 LDAP mailalternateaddress 属性。LDAP mail 属性提供了主要邮件地址,而 LDAP mailalternateaddress 属性提供了电子邮件别名。这两个属性都将邮件地址映射到用户的日历 ID (calid)。
例如,要为具有以下设置的用户 John Smith 添加 mailalternateaddress 属性:
请使用以下 Calendar Server 实用程序命令:
csattribute -a mailalternateaddress=johns@sesta.com add johnsmith
csattribute -a mailalternateaddress=jsmith@sesta.com add johnsmith
注
要启用这些更改,可能还需要重新生成别名表或别名配置。请参阅 Messaging Server(或您的电子邮件产品)的文档,以及您站点上关于更改邮件服务的文档和过程。可在以下位置获得 Messaging Server 文档:
http://docs.sun.com/coll/CalendarServer_05q1 和
http://docs.sun.com/coll/CalendarServer_05q1_zh
检查是否为用户启用了日历操作功能
要确定您的 Directory Server 中是否存在某个特定用户以及该用户是否可以访问 Calendar Server 数据,请使用 csuser 实用程序的 check 命令。
例如,可使用以下命令检查是否为 JSmith 启用了日历操作功能:
csuser check jsmith
如果 check 命令显示 LDAP Directory Server 中不存在该用户,则必须为该用户创建 Directory Server 条目。
删除用户
要删除用户,请使用以下实用程序之一:
- commadmin user delete(用于 Schema 2 的 Delegated Administrator 实用程序)
- csuser delete(针对 Schema 1)。
commadmin user delete
要使用 Delegated Administrator 实用程序 (commadmin) 完全删除用户,必须执行以下三个步骤:
- 将用户条目标记为删除,即将用户的 icsStatus 属性更改为 deleted,如以下示例所示:
commadmin user delete -D chris -n siroe.com -w bolton -l jsmith
在本示例中,将用户 jsmith 标记为删除。没有取消删除命令。但是,可以通过直接更改用户的 LDAP 条目(使用 ldapmodify)将 icsStatus 属性重置为 active。
- 使用 csclean 在一个或所有域中删除属于所有已删除用户的所有日历,如以下示例所示:
csclean clean sesta.com
在本示例中,将在 sesta.com 域中删除属于所有已删除用户的所有日历。要在所有域中执行此功能,请使用以下命令:
csclean clean "*"
如果在为用户删除日历之前不小心运行了 purge(如步骤 3 所示),您可以使用 cscal 实用程序删除日历,如删除使用 csuser 删除的用户的所有日历所述。
- 清除域中 icsStatus 属性值为 deleted 的所有用户,如以下示例所示:
commadmin domain purge -D chris -d sesta.com -n siroe.com -w bolton
在本示例中,将清除 sesta.com 中标记为已删除的所有用户,也就是永久删除。
csuser delete
此实用程序删除指定用户的 LDAP 条目和该用户的默认日历。例如,要删除用户 jsmith 的 LDAP 条目和默认日历,请使用以下命令:
csuser delete jsmith
如果要删除该用户可能拥有的任何其他日历,您必须使用 cscal,如删除使用 csuser 删除的用户的所有日历所述。
重置用户的属性
要恢复特定用户的所有日历 LDAP 属性的默认设置,请使用 csuser 实用程序的 reset 命令。
例如,可以使用以下命令将 jsmith 的所有日历属性重置为默认配置设置:
csuser reset jsmith
注
重置日历用户后,所有日历属性都将从用户的 LDAP 条目中删除,包括 icsCalendarUser(对象类)、icsSubscribed、icsCalendarOwned、icsCalendar 和 icsDWPHost(如果 LDAP CLD 设置中具有这些属性)。Calendar Server 管理员将不能以该用户的名义创建日历。
以下情况将恢复用户的 LDAP 条目中的这些属性:
重命名用户
如果需要更改一个或多个用户 ID,请运行 csrename 实用程序。此实用程序将执行以下步骤:
有关如何运行 csrename 实用程序的说明,请参见附录 D“Calendar Server 命令行实用程序参考”。
禁止用户拥有可写入的公共日历
- 以有权更改此配置的管理员身份登录。
- 转到 /etc/opt/SUNWics5/cal/config 目录。
- 通过复制和重命名旧的 ics.conf 文件来保存该文件。
- 编辑表 14-1 中所示的 ics.conf 参数: :
- 将此文件另存为 ics.conf。
- 重新启动 Calendar Server。
cal_svr_base/SUNWics5/cal/sbin/start-cal
管理资源添加资源后,您可以使用 csresource 来管理这些资源:
列出资源
启用资源
禁用资源
删除资源
为资源电子邮件设置 bitbucket 通道
本节说明如何为 Messaging Server 和 Sendmail 设置 bitbucket 通道。使用 bitbucket 通道可以删除为资源日历生成的电子邮件。这些示例使用了位于 sesta.com 服务器上名为 "Room100" 的资源。如果不设置 bitbucket 通道(或等价机制),则需要定期删除发送至资源日历的电子邮件消息。
本节包含以下过程:
设置 Messaging Server bitbucket 通道
设置 Sendmail bitbucket 通道
管理用户和资源的 LDAP 属性可使用 csattribute 实用程序或 ldapmodify 来管理 Calendar Server 所使用的 LDAP 属性。可使用 csattribute 列出、添加或删除属性。要修改属性,请使用 ldapmodify。本节包含以下主题:
列出 LDAP 条目属性
添加 LDAP 条目属性
- 以安装过程中指定运行 Calendar Server 的用户或组(例如 icsuser 和 icsgroup)身份登录,或以 root 用户身份登录。
- 如果要立即识别此属性更改,请停止 Calendar Server。否则,您无需停止 Calendar Server。
- 转到 sbin 目录。
- 使用 csattribute add 命令为用户或资源添加属性。例如,要为用户 tchang 添加值为 Conference_Schedule 的 LDAP 属性 icsCalendar,请使用以下命令:
./csattribute -a icsCalendar=Conference_Schedule add tchang@sesta.com
删除 LDAP 条目属性
- 以安装过程中指定运行 Calendar Server 的用户或组(例如 icsuser 和 icsgroup)身份登录,或以 root 用户身份登录。
- 如果要立即识别此属性更改,请停止 Calendar Server。否则,您无需停止 Calendar Server。
- 转到 sbin 目录。
- 使用 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 并不会将日历移到新的后端主机中。有关如何将日历从一个后端服务器移到另一个后端服务器的说明,请参见将用户日历移至不同的后端服务器。