上一章 目录 索引 下一章 |
Sun ONE Calendar Server 管理员指南 |
第 4 章 管理 Calendar Server 访问控制
Sun ONE Calendar Server 使用访问控制列表 (ACL) 来确定对日历、日历属性和日历组件(如事件和待办事项(即任务))的访问控制。
用户访问控制
Calendar Server 在确定对日历、日历属性和日历组件的访问时会考虑以下用户:
主要日历所有者
主要日历所有者对他们自己的日历具有完全的访问权。Calendar Server 对访问自身日历的主要所有者不会执行任何访问控制检查。
管理员和超级用户
管理员(如 icsuser 或 calmaster)或超级用户(如 root)不受访问控制限制的约束,他们可以对日历或日历组件执行任何操作。有关更多信息,请参见“Calendar Server 管理员”。
其他日历所有者
主要日历所有者可以为他们的日历指定其他所有者。之后,其他所有者便可以代表主要所有者来安排、删除、修改、接受或谢绝日历的事件或待办事项(任务)。
anonymous 用户
如果 ics.conf 文件中的 service.http.allowanonymouslogin 设置为“yes”(即默认值),则特殊日历 ID (calid) anonymous 可以使用任何口令访问 Calendar Server。anonymous 用户与任何特定的域都不相关。通过编辑 calstore.anonymous.calid 参数,您可以更改 anonymous 用户的 calid。
如果日历的权限允许任何人读取,您还可以匿名查看该日历。例如,以下链接允许用户匿名查看 calid 为 tchang:meetings 的日历(假设该日历的权限允许任何人读取):
http://calendar.sesta.com:8080/?calid=tchang:meetings
anonymous 用户可查看、打印和搜索日历上的公用事件和任务,但不能执行任何其他操作。
有关如何匿名查看资源日历的信息,请参见“链接到日历”。
访问控制列表 (ACL)
Calendar Server 使用访问控制列表 (ACL) 来确定对日历、日历属性和日历组件(如事件和待做事项(即任务))的访问控制。ACL 由一个或多个访问控制项 (ACE) 组成,这些访问控制项是共同应用于同一日历或组件的字符串。ACL 中的每个 ACE 必须以分号分隔。例如:
ACE 由以下元素组成,其中每个元素用插入符号 (^) 分隔:
Who-ACE 所应用的个人、用户、域或用户类型。
What-访问目标,如日历、日历组件(如事件和待办事项(即任务))或日历属性。
How-允许的访问控制权限类型,如读取、写入或删除。
Grant-授予或拒绝的特定访问控制权限。 例如,在 ACE jsmith^c^wd^g 中:
Who
Who 元素是 ACE 的主要值,指示 ACE 所应用的对象,如个别用户、域或特定的用户类型。
Who 又称为通用主要名称 (UPN)。用户的 UPN 由用户的登录名和用户的域组合而成。例如,对于 sesta.com 域中的用户 bill,其 UPN 为 bill@sesta.com。
表 4-1 显示 Calendar Server ACE 中使用的 Who 格式。
表 4-1    访问控制项 (ACE) 字符串的 Who 格式
格式
说明
例如:@sesta.com 指定 jsmith@sesta.com、sally@sesta.com 以及 sesta.com 域中的其他任何人。 @@{p|o|n}
What
What 元素指定访问目标,如日历、日历组件(事件或任务)或日历属性。
表 4-2 显示 Calendar Server ACE 中使用的 What 目标值。
表 4-2    访问控制项 (ACE) 字符串的 What 值
值
说明 c
p
a
How
How 元素指定允许的访问控制权限类型,如读取、写入或删除。
表 4-3 显示 Calendar Server ACE 中使用的访问控制权限的 How 类型。
Grant
Grant 元素指定要授予或拒绝对指定访问类型的访问权限,如 d(删除)或 r(读取)。
表 4-4 显示 Calendar Server ACE 中使用的 Grant 属性值。
表 4-4    访问控制项 (ACE) 字符串的 Grant 值
值
说明
ACE 示例
以下示例说明 ACE 的用法:
将整个日历(包括组件和属性)的读取访问权限授予用户 ID jsmith:
jsmith^a^r^g
只将组件的写入和删除访问权限授予 jsmith:
jsmith^c^wd^g
只将组件的安排、空闲时间和读取权限授予 sesta.com 域中的所有用户:
@sesta.com^c^sfr^g
只将组件的写入和删除访问权限授予其他所有者:
@@o^c^wd^g
拒绝 jsmith 对日历数据的所有访问权限:
jsmith^a^sfdwr^d
将整个日历(包括组件和属性)的读取、安排和空闲时间访问权限授予全部所有者:
@@o^a^rsf^g
将读取访问权限授予所有用户:
@^a^r^g
将 ACE 置于 ACL 中
当 Calendar Server 读取 ACL 时,ACL 会使用第一个对目标授予或拒绝访问权限的 ACE。因此,ACL 的顺序相当重要,ACE 字符串的排序顺序应是影响范围小的 ACE 在前,影响范围大的 ACE 在后。
例如,假定在日历 jsmith:sports 的 ACL 中,第一个 ACE 是将读取访问权限授予所有用户。然后,Calendar Server 遇到的第二个 ACE 是拒绝 bjones 对此日历的读取访问权限。在这种情况下,Calendar Server 会授予 bjones 对该日历的读取访问权限,而忽略第二个 ACE,因为它与第一个 ACE 发生冲突。因此,为确保采用特定用户(如 bjones)的访问权限,bjones 的 ACE 应位于 ACL 中影响范围较大的项(如应用于所有日历用户的 ACE)之前。
访问控制配置参数
表 4-5 说明 ics.conf 文件中,由 Calendar Server 所使用的访问控制配置参数。有关更多信息,请参见第 8 章 “Calendar Server 配置”。
公用和私人事件及任务过滤器
在创建新的事件或任务时,用户可以指定该事件或任务是“公用”、“私人”还是“仅时间与日期”(机密)的:
calstore.filterprivateevents 确定 Calendar Server 是否过滤(或识别)“私人”和“仅时间与日期”(机密)事件和任务。默认情况下,该参数会设置为“yes”。如果将 calstore.filterprivateevents 设置为“no”,则 Calendar Server 会将“私人”和“仅时间与日期”事件和任务视为“公用”事件和任务来处理。
访问控制命令行公用程序
Calendar Server 提供下表所示的命令行公用程序,使您能够设置或修改 ACL 进行访问控制:
公用程序
说明
上一章 目录 索引 下一章
版权所有 2002 Sun Microsystems, Inc. 全权所有。
更新日期 2002 年 8 月 30 日