3、Gerrit用户项目权限管理

简介:

在gerrit中权限控制是基于群组的. 每个用户有一个或者多个群组, 访问权限被赋予这些群组.访问权限不能赋予个人用户

Gerrit系统自带下面的群组

  • Anonymous Users

  • Change Owner

  • Project Owners

  • Registered Users

Anonymous Users

所有用户都是匿名用户成员, 所有用户都能继承Anonymous Users所有访问权限. 

权限的解读参考:http://www.cnblogs.com/lexuele/p/5133601.html


Gerrit上的所有项目默认是继承All-Projects这个项目的权限,这个项目是Gerrit安装后系统自动创建的。

先看下这个项目的权限

wKiom1cx-VWjhIG7AAG-ea-ZxDw284.png

wKiom1cx-VfT6PgCAAJjCu968pA558.png

wKioL1cx-jiQQbpIAAIwWHiB0bI276.png

所有新建的项目都继承了这些权限,如果需要单独更改某一个Project的权限,则可以从Projects==>List==>Project Name(选择你要更改权限的项目)==>Access==>Edit 来更改权限。

注意:千万不要点击All-Projects按钮来更改权限,应该这个更改是对所有Project生效的,相当于全局的权限设置。我们可以通过Edit来增加一些权限,覆盖掉All-Projects的权限。即当单个项目的权限与全局的权限冲突时,以项目自身设置的权限为准。


权限创建示例:

1、将某个Project只对group1组内的用户可见,当其他组的用户登录gerrit时,在Projects list中是看不到该项目的。

wKiom1cyAiyA6k_OAACJG7loM_k214.png



2、将某个项目的owner改为某个组的所有用户,此权限设定慎用

wKioL1cyBE6ye8ReAABhyPM4V0k771.png


3、伪造提交者

正常情况下,开发者的用户配置,包括邮箱配置必须和Gerrit Web UI上配置的一直,才能执行git push命令,来提交change。

例如,开发者全局配置为:

1
2
3
$ git config --list
user.name=user1
user.email=123456789@qq.com

对应的Gerrit账户上的注册邮箱也必须为123456789@qq.com

如果修改了开发者邮箱配置,那么执行git push命令时会报以下错误:

remote: ERROR:  does not match your user account.

我们可以通过Forge Committer Identity 权限来伪造提交者。配置如下

wKioL1c9YRizSilAAACbOuGVgj4740.png

关于Gerrit权限可以参考这个文档:http://www.jianshu.com/p/d95faa9f8b05










本文转自 曾哥最爱 51CTO博客,原文链接:http://blog.51cto.com/zengestudy/1772019,如需转载请自行联系原作者
目录
相关文章
|
网络安全 开发工具 数据安全/隐私保护
|
SQL 缓存 NoSQL
接口的幂等性设计和防重保证,详细分析幂等性的几种实现方法
本篇文章详细说明了幂等性,解释了什么是幂等性,幂等性的使用场景,讨论了幂等和防重的概念。分析了幂等性的情况以及如何设计幂等性服务。阐述了幂等性实现防重的几种策略,包括乐关锁,防重表,分布式锁,token令牌以及支付缓冲区。
9587 0
接口的幂等性设计和防重保证,详细分析幂等性的几种实现方法
|
Java jenkins 网络安全
从零搭建 Gerrit 实现 code review
从零搭建 Gerrit 实现 code review
676 1
|
存储 固态存储 数据库
|
Java Linux 开发工具
Linux部署 Gerrit 教程 ——2023.07
Linux部署 Gerrit 教程 ——2023.07
1296 0
|
IDE Java 持续交付
提升代码质量:CheckStyle插件的实践与心得
在软件开发过程中,代码的规范性是保证项目质量和维护性的重要因素。然而,手动检查代码规范既耗时又容易出错。为了解决这一问题,许多开发团队引入了自动化工具来帮助维护代码规范。CheckStyle就是这样一款广受欢迎的代码质量检查工具。本文将分享CheckStyle插件的实践应用和使用心得,探讨它是如何帮助我们提升代码规范性的。
1003 0
|
NoSQL 关系型数据库 数据库
JumpServer的Docker部署实战案例
JumpServer的Docker部署实战案例,详细介绍了JumpServer的概述、环境准备、基于Docker的快速部署步骤,以及如何访问JumpServer的WebUI。
2843 1
|
Unix Shell 网络安全
git学习六:(bug总结)git@github.com: Permission denied (publickey).等
本文是关于解决在使用Git和GitHub时遇到的“git@github.com: Permission denied (publickey)”错误的指南。文章提供了详细的步骤,包括确认SSH Agent运行状态、检查密钥配置、确保密钥匹配、验证仓库URL、检查权限和代理设置,以及配置SSH文件。这些步骤帮助用户诊断并解决SSH认证问题。
2983 0
|
Java 开发工具 git