一、配置默认不允许用户看所有projects
修改All-Projects refs/* read 权限,禁止注册用户和匿名用户,这样普通用户就看不到所有project 了
二、对特定project 允许特定groups 查看和上代码
例如:对hi3516dv300_trunk project 允许linux_bsp_admin组查看和sumit
修改refs/heads/* 允许read、Sumit 、code-review 权限即可
图中其他两个权限有其他用途,与这一步没关系
三、对于安装了gitweb 需要用户查看gitweb页面的,网上说开启refs/meta/config read权限即可,
对于默认设置(没有做我们上述设置,即deny refs/* read),的确是可以的。但我们做上述设置后,添加refs/meta/config read权限后,普通用户仍然是 502 not found .
需要做如下设置All-projects (可能不需要,默认就是禁止注册用户的)
再加上第二步对单个project 中添加 refs/* 和refs/meta/config 的read权限
这样各group只能看到自己project 且能访问gitweb
四、对某个project设置owner权限,其他child project 可继承此owner权限
有时我们有project 分组权限需求,让特定组仅能管理自己创建的project权限
(1)首先在All-Projects ACCESS 里添加对应人员的Create Project权限
(2)创建一个project作为父project,配置owner权限
注意reference 必须是ref/*,不能是默认的ref/head/*,否则子project不能继承owner权限,无法为子project配置权限。或者开ref/*的create reference权限(未验证)
(3)owner 创建新project,继承父project的权限即可全权管理子project权限
五、给某个project开启陌生用户访问权限,例如git-repo project
针对该project添加ref/* read allow Anonymous Users 权限即可
参考:
Gerrit集成Gitweb,普通成员没有查看权限
https://blog.csdn.net/crisy_guoguo/article/details/61914157
Gerrit用户项目权限管理
http://www.it610.com/article/5173727.htm
owner设置参考:
Gerrit权限配置 - 哈库 - 个人维基
http://www.mywiki.cn/Hovercool/index.php?title=Gerrit%E6%9D%83%E9%99%90%E9%85%8D%E7%BD%AE&oldid=153
http://www.mywiki.cn/Hovercool/index.php?title=Gerrit权限配置&oldid=153