Sun ONE Calendar Server 6.0 管理员指南 |
第 4 章
管理 Calendar Server 访问控制Sun ONE Calendar Server 使用访问控制列表 (ACL) 来确定日历、日历特性和日历组件(例如事件和待办事件 [任务])的访问控制。
本章包括以下章节:
增加 Calendar Server 登录的安全性用户通过 Calendar Express 登录 Calendar Server 时,默认情况下验证进程并不加密登录信息(包括用户名和密码)。如果希望增加站点登录的安全性,请配置 Calendar Server 使用安全套接字层 (SSL) 协议来加密登录数据。有关详细信息,请参阅第 9 章“在 Calendar Server 中使用 SSL”。
用户访问控制确定对日历、日历特性和日历组件的访问权限时,Calendar Server 将考虑以下用户:
管理员(例如 icsuser 或 calmaster)或超级用户(例如 root)不受访问控制限制,可以对日历或日历组件执行任何操作。有关详细信息,请参阅 Calendar Server 管理员。
如果 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 由以下元素组成,每个元素之间由插入符号 (^) 分隔:
例如,在 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 格式。
What
What 元素用于指定访问的目标,例如日历、日历组件(事件或任务)或日历特性。
表 4-2 显示了 Calendar Server ACE 中使用的 What 目标值。
How
How 元素用于指定已授予的访问控制权限的类型,例如读、写或删除。
表 4-3 显示了 Calendar Server ACE 中使用的 How 类型的访问控制权限。
Grant
Grant 元素指定是授予还是拒绝授予指定类型(例如 d [删除] 或 r [读])的访问权限。
表 4-4 显示了 Calendar Server ACE 中使用的 Grant 属性值。
ACE 示例
以下示例显示了 ACE 的用法:
对 ACL 中的 ACE 进行排序
Calendar Server 读取 ACL 时,它将使用遇到的第一个 ACE,无论该 ACE 是授予还是拒绝对目标的访问权限。因此,ACL 条目的顺序非常重要。对 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 用于访问控制的配置参数。有关详细信息,请参阅第 12 章“Calendar Server 配置参数”。
“公用”和“私人”事件与任务过滤器创建新事件或任务时,用户可以指定该事件或任务是“公用”、“私人”还是“仅时间与日期(保密)”:
calstore.filterprivateevents 确定 Calendar Server 是否过滤(识别)“私人”和“仅时间与日期(保密)”事件和任务。默认情况下此参数被设置为“yes”。如果将 calstore.filterprivateevents 设置为“no”,那么 Calendar Server 将按处理“公用”事件和任务的方式处理“私人”及“仅时间与日期”事件和任务。
代理管理员登录要允许以管理员代理身份登录 Calendar Server,请执行以下操作:
- 在 ics.conf 文件中,设置以下参数:
service.http.allowadminproxy = "yes"
- 重新启动 Calendar Server 以便新值生效。
- 使用以下 WCAP 命令验证管理员代理登录正在工作:
http://server[:port]/login.wcap?user=admin-user
&password=admin-password&proxyauth=calendar-user其中:
- server 是运行 Calendar Server 的服务器的名称。
- port 是 Calendar Server 端口号。默认端口为 80。
- admin-user 是 Calendar Server 管理员。例如,calmaster。
- admin-password 是 admin-user 的密码。
- calendar-user 是 Calendar Server 用户的 calid。
如果命令运行成功,Calendar Server 将显示 calendar-user 的日历。如果发生问题,Calendar Server 将显示“未授权”。原因可能是:
- admin-user 没有 Calendar Server 管理员权限。
- admin-password 不正确。
- calendar-user 不是有效的 Calendar Server 用户。
访问控制的命令行实用程序表 4-6 介绍了允许设置或修改访问控制的 ACL 的 Calendar Server 命令行实用程序:
表 4-6 访问控制的命令行实用程序
实用程序 说明
使用带有 -a 选项的 create 和 modify 命令为特定用户的日历设置 ACL。
使用带有 -a 选项的 create 命令为资源(例如会议室或设备)的资源日历设置 ACL。
使用带有 -a 选项的 csuser 实用程序管理存储在 LDAP 目录服务器和日历数据库中的日历用户信息。