Sun Java System Calendar Server 6.3 管理指南

1.8.3 Calendar Server 版本 6.3 的访问控制列表 (Access Control List, ACL)

Calendar Server 使用访问控制列表 (Access Control List, ACL) 来确定日历、日历属性和日历组件(例如事件和待办事项(任务))的访问控制。ACL 由一个或多个访问控制条目 (access control entry, ACE) 组成,这些条目是共同应用到同一个日历或组件的字符串。ACL 中的每个 ACE 之间必须用分号分隔。

以下为一组示例:

ACE 由以下元素组成,每个元素之间由插入符号 (^) 分隔:

例如,在 ACE jsmith^c^wd^g 中:

1.8.3.1 Calendar Server 版本 6.3 中的 Ace 字符串的 Who 元素

Who 元素是 ACE 中的主要值,表示将应用 ACE 的人(例如单个用户、域或特定类型的用户)。

Who 也称为通用主要名称 (UPN)。用户的 UPN 是用户的域和登录名的组合。例如,域 sesta.com 中的用户 bill 的 UPN 为 bill@sesta.com

表 1–2 访问控制条目 (ACE) 字符串中的 "Who" 格式

格式 

说明 

user

表示一个特定的用户。例如:jsmith。 

user@domain

表示特定域中的特定用户。例如:jsmith@sesta.com

@domain

表示指定域中的任何用户。 

例如:@sesta.com 指定 jsmith@sesta.comsally@sesta.comsesta.com 中的任何其他用户。

使用此格式可以为用户授予或拒绝对整个域的访问权限。 

@

表示所有用户。 

@@{d|p|o|n}

表示日历的所有者: 

  • @@d—主要所有者的域

  • @@p—仅主要所有者

  • @@o—所有所有者,包括主要所有者

  • @@n—非所有者

1.8.3.2 Calendar Server 版本 6.3 中的 Ace 字符串的 What 元素

What 元素指定要访问的目标,例如日历、日历组件(事件或任务)或日历属性。

表 1–3 访问控制条目 (ACE) 字符串中的 "What" 值

值 

说明 


c                           

指定日历组件,例如事件和任务 


p                           

指定日历属性,例如名称、说明和所有者等 


a                           

指定整个日历(所有内容),包括组件和属性 

1.8.3.3 Calendar Server 版本 6.3 中的 Ace 字符串的 How 元素

How 元素指定允许的访问控制权限的类型,例如读、写或删除。

表 1–4 访问控制条目 (ACE) 字符串中的 "How" 类型

类型 

说明 

r

读访问。 

w

写访问,包括添加新项和修改现有项。 

d

删除访问。 

s

预定(邀请)访问。可以发送请求、接受回复以及进行其他 ITIP 预定交互操作。 

f

仅空闲/繁忙(空闲时间)访问。空闲/繁忙访问表示用户能够查看日历中的时间安排,但不能查看事件的详细信息。已预定的时间块将只显示“不可用”。未预定任何事件的时间块旁边将显示“可用”。 

域的查找访问。 

e

以代表身份进行回复访问。此类型授予用户代表日历的主要所有者接受或拒绝邀请的权限。此访问类型不需要明确授予,因为当一名用户被指定为日历的所有者(非主要所有者)时,就暗含授予了这种权限。 

i

以代表身份进行邀请访问。此类型授予用户代表日历的主要所有者创建和修改已邀请其他参与者的组件的权限。此访问类型不需要明确授予,因为当一名用户被指定为日历的所有者(非主要所有者)时,就暗含授予了这种权限。 

c

以代表身份进行取消访问。此类型授予用户代表日历的主要所有者取消已邀请其他参与者的组件的权限。此访问类型不需要明确授予,因为当一名用户被指定为日历的所有者(非主要所有者)时,就暗含授予了这种权限。 

z

自我管理访问—授予已经验证的用户添加和删除访问控制条目的权力。拥有该权限的用户可以添加和删除自身的权限。例如,UserA 可能不具有对 UserB 的日历的写访问权限,但是 UserA 被授予了对 UserB 的日历的自我管理访问权限。因此,UserA 可以添加一条访问控制条目,授予自己对 UserB 的日历的写访问权限。 

备注:UserA 不能使用该权限授予其他用户对 UserB 的日历的访问权限。例如,自我管理权限不允许 UserA 授予 UserC 对 UserB 的日历的访问权限。 

1.8.3.4 Calendar Server 版本 6.3 中的 Ace 字符串的 Grant 元素

Grant 元素指定是授予还是拒绝授予指定的访问类型,例如 d(删除)或 r(读取)。

表 1–5 访问控制条目 (Access Control Entry, ACE) 字符串中的 Grant 值

值 

说明 

g

授予特定的访问控制权限。 

d

拒绝授予特定的访问控制权限。 

1.8.3.5 Calendar Server 版本 6.3 的 ACE 示例

以下示例显示了 ACE 的用法:

1.8.3.6 对 Calendar Server 第 6.3 版的 ACL 中的 ACE 进行排序

在 Calendar Server 读取 ACL 时,它会使用遇到的第一个 ACE,无论其是授予还是拒绝授予对目标的访问权限。因此,ACL 条目的顺序非常重要。对 ACE 字符串排序时,应将明确具体的条目放在概括性条目之前。

例如,假设日历 jsmith:sports 的 ACL 中的第一个 ACE 将读访问权限授予所有用户。然后,Calendar Server 遇到的第二个 ACE 拒绝授予 bjones 对此日历的读访问权限。在这种情况下,Calendar Server 将授予 bjones 对此日历的读访问权限,而忽略第二个 ACE,因为它与第一个 ACE 冲突。因此,要确保实现特定用户(例如 bjones)的访问权限,应将 bjones 的 ACE 放在 ACL 中全局性较强的条目(例如,应用于日历的所有用户的 ACE)之前。