在以前发的博文里提到如何在gerrit里集成gitweb。
集成之后发现只有我的root用户(gerrit里注册的第一个用户)才能够点gitweb链接正常打开gitweb页面。其他的普通用户点gitweb链接显示404错误。
经过网上调查发现2.5开始使用gitweb需要有【refs/*】下所有的read权限。
参考链接1 里有下面一段话
『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.』
这是2.5-rc0发布时的一个bug。后来改掉了。修改内容看参考链接2。
但是既然改了为什么我这还不行呢? 读了gerrit 2.5的release note才知道原因。Release note里有下面一句话。
『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。
最后感叹一下,Gerrit的文档真的是很少啊。调查一个问题的原因居然要看到那么多东西。。。
- 浏览: 318602 次
文章分类
最新评论
-
ZT71363387:
多谢,帮我解决了抄送人收不到邮件的问题
python smtplib -
dsjt:
pythonw.exe 运行后无反应。版本不匹配啊。
python+PyQT+Eric安装配置 -
dsjt:
xp 32位系统安装eric后,目录下没有 .bat文件是怎么 ...
python+PyQT+Eric安装配置
发表评论
-
How to modify existing, unpushed or pushed commits?
2017-06-20 16:43 612https://stackoverflow.com/ques ... -
git diff提示filemode发生改变(old mode 100644、new mode 10075)
2017-06-10 09:32 1918今天在提交代码之前 git status了一下,发现一 ... -
Playing With Gerrit Jira Plugin
2017-06-09 16:10 733Playing With Gerrit Jira Plugi ... -
Gerrit mysql error: Communications link failure
2017-05-24 15:31 1081fatal: DbInjector failed f ... -
Gerrit replication.config
2017-03-16 19:15 1886replication.config [remote &q ... -
Gerrit命令
2017-03-10 10:33 1882查看可见的群组 ssh -p 29418 admin@lo ... -
Make Gerrit look for new repositories
2017-03-08 19:01 622Command line alternative Copy ... -
gitlab 项目迁移
2017-03-04 11:45 2822gitlab项目迁移: 一: 场景 目前有 ... -
Gerrit reviewer plugin
2017-02-20 11:20 1144https://gerrit.googlesource.co ... -
One or more refs/for/ names blocks change upload
2017-02-16 12:23 986One or more refs/for/ names ... -
Python的高级Git库 Gittle安装使用方法
2017-02-15 18:29 2424本文为大家讲解的是Python的高级Git库 Gittle ... -
GitPython 库
2017-02-15 18:25 1216GitPython is a python library ... -
Why does Gerrit not include the change-id into merge commits?
2017-01-20 10:23 593The underlying pro ... -
How to use gerrit gsql -c option
2017-01-06 19:35 1052You have to ensure the quotes ... -
How to remove group and project in Gerrit ?
2016-12-26 15:35 736Group1. access gerrit sql dat ... -
Pygerrit - Client library for interacting with Gerrit Code Review
2016-12-20 14:11 1170https://github.com/sonyxperia ... -
git 取得两个 tag 之间的 commit
2016-11-26 13:10 2214参考:http://stackoverflow.com/qu ... -
Ubuntu Git 版本升级
2016-11-05 14:52 654安装命令: sudo add-apt-repository ... -
repo upload Uncomment the branches to upload:
2016-10-09 11:34 981$ repo upload 如果有多个项目同时进行了改动, ... -
Repo/Git 使用手冊, android開發圖說如何使用指令
2016-10-09 11:13 948安裝repo 參考:http://source.andro ...
相关推荐
本文档详细介绍了如何在linux系统下安装ldap、gerrit、gitweb的安装流程。还包括gerrit的ldap认证配置,gerrit+gitweb集成化安装部署流程。
自己从零开始搭建git + gitweb + gerrit服务器 软硬件环境 物理机:Windows10 64位 VMware版本:VMware Workstation 12 Ubuntu版本:ubuntu-14.04-server-amd64.iso
需要设置Gerrit数据库访问权限来控制用户的访问权限。 重启Apache2和Gerrit 重启Apache2和Gerrit是Gerrit搭建的必要步骤。需要重启Apache2和Gerrit来应用配置更改。 常见错误处理 常见错误处理是Gerrit搭建的...
客户端配置则包括设置Git以使用Gerrit进行代码推送、设置审查请求URL以及配置审查偏好设置等。 3. Gerrit的审查流程 Gerrit的审查流程可以分为几个步骤: - 开发者将代码变更提交到本地仓库; - 使用Git命令或...
Gerrit 还提供了许多其他的功能和配置项,包括配置项目的权限、设置审核规则、查看提交记录等。 版本记录 Gerrit 的版本记录包括 V1.0、V1.1、V1.2 等,各个版本之间的修改记录和更新内容。 Skyworth Gerrit ...
git+gerrit+jenkins+sonar持续集成环境大家资料,具体搭建步骤请参考本人博客。 里面还有一些插件,方便大家少走弯路
Gerrit在Git版本控制系统的基础上进行扩展,使得代码审查过程更加容易管理,并且能够集成到持续集成的开发流程中。Gerrit代码审查系统的安装和设置是软件开发和版本管理过程中的一个重要环节,可以为团队提供高效的...
2. 将用户 git 设置为 Gitosis 的管理员。 生成 Admin 端的公钥 生成 admin 端的公钥,并将其拷贝到服务器的 tmp 目录下: 1. 使用 `ssh-keygen -t rsa` 生成公钥。 2. 将公钥拷贝到服务器的 tmp 目录下。 执行 ...
这包括下载Gerrit软件包、设置数据库连接、配置SMTP服务器以便发送邮件通知,以及设置SSH密钥以实现安全的身份验证。 2. **用户注册与认证**:Gerrit允许用户通过SSH或HTTP协议进行身份验证。理解如何创建新用户,...
3. **权限管理**:Gerrit支持细粒度的权限控制,可以根据项目、分支甚至单个文件设置不同的访问权限,确保代码库的安全性。 4. **集成化**:Gerrit可以轻松地与常见的持续集成工具(如Jenkins)集成,自动触发构建和...
完成安装后,需要进一步配置 Gerrit,以便更好地集成到本地代码管理系统中。配置文件位于 `review_site/etc/gerrit.config`,可以通过编辑器进行修改。 - **基本路径设置**:设置项目的存储路径。 ```ini [gerrit...
在`gerrit/etc/replication.config`中配置仓库复制设置,如果需要的话。 安装Git服务器,比如Git for Windows,这将提供Git Bash,我们可以在这个命令行环境中执行Git操作。确保你的用户环境变量`PATH`包含了Git的...
gerrit-2.15.3 与Cas集成部署
3. 初始化:使用`gerrit init`命令初始化Gerrit实例,并选择所需的配置选项。 三、Gerrit使用教程 1. 创建项目:登录Gerrit后,管理员可以创建新项目,设置项目的默认分支和权限。 2. 提交代码:开发者需要将更改...
八、用户管理与权限设置 1. 添加和管理用户,设置用户组,方便批量分配权限。 2. 定义代码审查规则,如需要多少个 +2 才能合并,是否允许自审等。 九、监控与日志 定期检查 Gerrit 的日志文件,监控其运行状态,...
由于Gerrit是通过邮箱来验证用户身份和发送通知的,因此开发者需要在Gerrit中设置和验证自己的邮箱地址。 6. Gerrit的SSH测试与代码下载: 在配置完Gerrit的SSH后,需要测试SSH连接是否正常。一旦SSH连接确认无误...
本压缩包“gerrit安装包.7z”显然是为Windows用户设计的,包含了安装和配置Gerrit环境所需的基本组件。 首先,我们看到一个名为"Git-2.21.0-32-bit.exe"的文件,这是Git的32位版本。Git是分布式版本控制系统,由...
4. **权限管理**:Gerrit允许管理员设置精细的权限控制,以决定谁可以访问哪个项目、提交代码、进行审查等。 5. **多语言支持**:Gerrit支持多种编程语言,无论你是Java、Python、C++还是其他语言的开发者,都可以...
8. **集成Gerrit**:作为Gerrit的一部分,Gitiles与Gerrit的代码审查流程紧密集成,用户可以直接从Gitiles页面跳转到Gerrit的代码审查界面,对代码进行评论和投票。 9. **API支持**:Gitiles还提供了RESTful API,...
5. **与其他 Git 工具集成**:Gerrit 可与 Git 的其他客户端工具如 Eclipse、IntelliJ IDEA 等无缝集成。 使用 Git 和 Gerrit 的一些挑战包括: 1. **学习曲线**:由于 Git 和 Gerrit 的功能丰富,初学者可能需要...