Wiki
组
将用户归为一组,一次性授予权限。组是全局的,且 Groups 选项卡仅限超级管理员。
简介
组是一组具名的用户。它的目的是 : 一次性把 权限授予整个组,而不是逐个授予每个人。当团队发生变化时,只需在组中 添加或移除成员,其访问权限便会随之调整。
典型示例 : 一个对 Content/ 拥有写入权限的 Artistes 组,以及一个对
Source/ 的 Programmeurs 组。
访问与角色
- Super admin : Groups 选项卡为其专用,他在这里完成一切(创建、重命名、 删除、添加和移除成员)。
- project_admin : 他看不到 Groups 选项卡,因此既无法访问组列表,也无法访问 其成员。不过,他能在 Permissions 选项卡的主体选择器中 找到现有的组,这足以让他在自己管理的仓库上为整个组授予访问权限。
为何有此限制 : 由于组是全局的,修改它会在使用它的所有项目中悄然改变访问权限,包括 project_admin 并不管理的项目。因此组的管理仍归超级管理员。需要新组的 project_admin 必须提出申请。
创建组
仅限超级管理员。
1. 打开 Groups 选项卡
在侧边栏打开 Admin,然后打开 Groups 选项卡。注意选对行 : 面板有两行, SERVER 用于涉及整个服务器的内容,PROJECT 仅涉及旁边所选的仓库。由于组是全局的, 它们位于 SERVER 行,另一行中显示的仓库对你在此处的操作没有任何影响。
2. 打开创建窗口
该选项卡分为两个面板 : 左侧是组列表,右侧是所选组的成员。在左侧面板的标题栏中,点击刷新按钮右侧的 + 按钮。Create Group 窗口随即打开。
3. 为组命名并确认
Name 为必填(1 到 100 个字符),只要为空按钮就保持禁用。Description 为可选。用 Create 确认 : 已被占用的名称会被拒绝,否则该组会以空的状态出现在左侧列表中。
管理成员
1. 选择组
在左侧列表中点击组 : 其所在行会显示成员数量,右侧面板的标题会变为组名后跟 Members。
2. 添加成员
在 Select user to add... 菜单中选择一个账户,然后点击 Add。此菜单只列出 尚未成为成员的活跃账户 : 找不到的人要么已在组中,要么已被停用。添加一个已存在的成员不会有任何 作用。
3. 移除成员
行尾的红色按钮会将其从组中移除。他会立即在所有仓库上失去该组所承载的权限。
为组授予权限
只要没有为组授予任何权限,组就不会给予任何访问权限。这不在此处完成,而是在 Permissions 选项卡中逐个仓库进行。这也是 project_admin 唯一会接触到组的 地方,因为他看不到 Groups 选项卡。
1. 打开正确项目的 Permissions 选项卡
这次是 PROJECT 行,仓库选择器位于行首 : 权限只对那里显示的项目有效。组是全局的,而权限从不是。
2. 选择组作为主体
文件夹树顶部的选择器包含两个子列表,Groups 和 Users。从第一个中选取组。一条 规则针对其中之一,绝不会同时针对两者。
3. 勾选文件夹并应用
在树中勾选相关文件夹,在出现的栏中选择级别(write、read 或 none),然后
点击 Apply。该组的规则随后会显示在 Active rules 表格中,你可以在其中逐条移除。
详情(模式、优先级、默认访问)在 Permissions 页面。
删除组
1. 选择组
在左侧列表中点击要删除的组 : 右侧的按钮所针对的正是它。
2. 删除,然后确认
在成员面板的标题栏中,红色垃圾桶(在用于重命名组的铅笔右侧)会打开 Delete Group 确认框。它会提醒级联,但不会列出相关的仓库 : 确认前请先核对。
常见陷阱
编辑共享组会改变各处的访问权限
由于组是全局的,在某个项目中为其权限添加一个文件夹看似是局部操作,但如果该组在别处被复用,它仍由同一个组承载。 如果两个项目确实有不同的需求,最好使用两个不同的组。
被移除的成员还保留访问权限吗 ?
不 : 一旦离开该组,他便失去该组所承载的权限。如果他仍保有访问权限,那说明他持有一项直接权限 (授予其账户,而非授予该组) : 请检查 Permissions 选项卡及其测试结果。