Gerrit集成Gitweb,普通成员没有查看权限

Gerrit集成Gitweb没有查看权限问题

情景复现

gerrit集成gitweb后,系统管理员有权限进去gitweb,其他成员进去都是not found。

问题分析

除了管理员之外,其他权限组成员都无法查看gitweb的信息。尝试给小组成员分配各个属性,包括可以查看数据库database的权限,问题依旧。

看来查看gitweb的权限与数据库访问并没有关系;翻墙出去在谷歌官网FAQ查找到了这么一段话:『This is due to a change on the level of security applied by GitServlet: now the GitWeb makes sure that the user has full access to ALL branches (refs/meta/config included) otherwise it returns a 404。
The problem is: repo owner and gerrit administrator has implicit access to refs/meta/config … and thus an extra bit is need on the if() checking permissions.』。
看来gitweb的权限需要具备ref/*节点下面的read权限,『Make read access to refs/meta/config by default exclusive to project owners 』这个设定做在了All-Projects的ACL设定里,所以缺省被所有的Project继承。
解决方案

在单独项目的ACL里为项目的用户组增加了对refs/meta/config的read权限。用户可以正常显示gitweb页面。

不良影响

原来gerrit是用git做自身的ACL管理的,因此所有对refs/meta/config有read权限的用户都可以在Project的Access页面里修改权限,修改后虽然不能直接submit,
但是可以作为patch提交review。而且通过gitweb就能够看到project.config和groups文件的全部内容,知道当前项目是如何设置权限的。

这样是否合适就仁者见仁智者见智了。另外,对于用户提交的关于权限修改的patch如果想commit的话需要对refs/meta/config做和refs/heads/*一样的权限设定,
也就说需要Label Code-Review,Label Verified,Submit三个权限才有可能commit patch。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值