基本含义:

C    代表创建,仅在通配符版本库授权是使用,用于指定谁可以创建与通配符匹配的版本库
R    RW    RW+    R为只读,RW为读写权限,RW+代表除了拥有读写权限,还可以强制执行推送
RWC    RW+C
RWD    RW+D    D代表允许删除和正则匹配的引用
RWCD  RW+CD

传统模式的引用授权
传统模式的引用授权指的是在授权指令中只采用R、RW和RW+的传统授权关键字,而不包括后面介绍的扩展授权指令。传统的授权指令没有把分支的创建和分支删除权限细分,而是和写操作及强制推送操作混杂在一起。

1  @administrators = jiangxin admin
2  @dev                  = dev1 dev2 badboy
3  @test                  = test1 test2
4
5  repo    test/repo1
6          RW+           = @administrators
7          RW master refs/heads/feature/ = @dev
8          R                 = @test

关于授权的说明:
- 第6行,对于版本库test/repo1,管理员组用户jiangxin和admin可以读写任意分支、强制推送,以及创建和删除引用。
- 第7行,用户组@dev除了对master和refs/heads/feature/开头的引用具有读写权限外,实际上可以读取所有引用。这是因为读取操作授权阶段无法获知引用。
- 第8行,用户组@test对版本库拥有只读授权。

扩展模式的引用授权
扩展模式的引用授权,指的是该版本库的授权指令出现了下列授权关键字中的一个或多个:RWC、RWD、RWCD、RW+C、RW+D、RW+CD,将分支的创建权限和删除权限从读写权限中分离出来,从而可对分支进行更为精细的权限控制。
- 非快进式推送必须拥有上述关键字中的+方可授权。
- 创建引用必须拥有上述关键字中的C方可授权。
- 删除引用必须拥有上述关键字中的D方可授权。
即引用的创建和删除使用了单独的授权关键字,和写权限和强制推送权限分开。

1   repo    test/repo2
2           RW+C = @administrators
3           RW+   = @dev
4           RW      = @test
5
6   repo    test/repo3
7           RW+CD  = @administrators
8           RW+C    = @dev
9           RW         = @test
通过上面的配置文件,对于版本

库test/repo2.git具有如下的授权:
第2行,用户组@administrators中的用户,具有创建和删除引用的权限,并且能强制推送。
其中创建引用来自授权关键字中的C,删除引用来自授权关键中的+,因为该版本库授权指令中没有出现D,因而删除应用授权沿用传统授权关键字。
第3行,用户组@dev中的用户,不能创建引用,但可以删除引用,并且可以强制推送。
因为第2行授权关键字中字符C的出现,使得创建引用采用扩展授权关键字,因而用户组@dev不具有创建引用的权限。
第4行,用户组@test中的用户,拥有读写权限,但是不能创建引用,不能删除引用,也不能强制推送。
通过上面的配置文件,对于版本库test/repo3.git具有如下的授权:
第7行,用户组@administrators中的用户,具有创建和删除引用的权限,并且能强制推送。
其中创建引用来自授权关键字中的C,删除引用来自授权关键中的D。 -
第8行,用户组@dev中的用户,可以创建引用,并能够强制推送,但不能删除引用。
因为第7行授权关键字中字符C和D的出现,使得创建和删除引用都采用扩展授权关键字,因而用户组@dev不具有删除引用的权限。
第9行,用户组@test中的用户,可以推送到任何引用,但是不能创建引用,不能删除引用,也不能强制推送。
对路径的写授权

在授权文件中,如果一个版本库的授权指令中的正则引用字段出现了以NAME/开头的引用,则表明该授权指令是针对路径进行的写授权,并且该版本库要进行基于路径的写授权判断。

1  repo foo
2      RW                           =   @junior_devs @senior_devs
3
4      RW  NAME/             =   @senior_devs
5      -   NAME/Makefile  =   @junior_devs
6      RW  NAME/            =   @junior_devs

关于授权的说明:
- 第2行,初级程序员@junior_devs和高级程序员@senior_devs可以对版本库foo进行读写操作。
- 第4行,设定高级程序员@senior_devs对所有文件(NAME/)进行写操作。
- 第5行和第6行,设定初级程序员@junior_devs对除了根目录的Makefile文件外的其他文件具有写权限。

Gitolite权限配置相关推荐

  1. Windows下SVN权限配置过程详解

    本节讲解一下Windows下SVN权限配置说明,针对的是一个目录下多库的情况,下面是具体的介绍,希望通过本文的学习,你能够对SVN权限配置问题有更加深刻的认识. 1.本文档适用于对Subvesion的 ...

  2. Linux (CentOS 7 )下搭建局域网SVN服务器+SVN权限配置

    准备 公司内部需要配置局域网SVN,需要在在内部虚拟机服务器搭建,搭建过程做个记录,供参考. 注:如果条件允许,尽量在windows下搭建svn服务器,很省事,尤其是权限配置非常方便又易懂,效果相同 ...

  3. 【NET CORE微服务一条龙应用】第三章 认证授权与动态权限配置

    [NET CORE微服务一条龙应用]第三章 认证授权与动态权限配置 介绍 系列目录:[NET CORE微服务一条龙应用]开始篇与目录 在微服务的应用中,统一的认证授权是必不可少的组件,本文将介绍微服务 ...

  4. SpringMVC+ZTree实现树形菜单权限配置

    计划在开源项目里加入权限配置的功能,打算加入zTree实现树形结构. Team的Github开源项目链接:https://github.com/u014427391/jeeplatform 欢迎sta ...

  5. Spring Security——基于读写锁的动态权限配置FilterInvocationSecurityMetadataSource实现类

    问题描述 每次都加载资源,效率低下. 解决方案 /*** @author ShenTuZhiGang* @version 1.2.0* @date 2020-03-07 21:57*/ @Slf4j ...

  6. hadoop-HA集群搭建,启动DataNode,检测启动状态,执行HDFS命令,启动YARN,HDFS权限配置,C++客户端编程,常见错误

    本篇博文为整理网络上Hadoop-HA搭建后出来的博客,参考网址为:http://blog.chinaunix.net/uid-196700-id-5751309.html 3. 部署 3.1. 机器 ...

  7. svn数据仓库配置,权限配置

    svn服务的开启有两种方式, ·        自带的svnserve服务(访问地址类似于svn://192.168.80.18/repos/) ·        与Apache配合使用  (访问地址 ...

  8. Jenkins 权限配置与集群配置

    由于jenkins默认的权限管理体系不支持用户组或角色的配置,因此需要安装第三发插件来支持角色的配置,我们使用Role-based Authorization Strategy 插件,安装请参考前面插 ...

  9. windows XP下DCOM的权限配置

    XP下DCOM权限配置 Click Start, click Run, and then type DCOMCNFG.   Code: [Copy to clipboard]   Click Defa ...

最新文章

  1. 合伙人分开的一点思考
  2. sql server管理学习提纲
  3. 一切为了运营!如何从推广短信链接唤起 App?
  4. php面向对象引用文件,PHP面向对象之对象和引用
  5. win10引导安卓x86_GPDwin安装安卓x86折腾记
  6. jquery颜色选择器
  7. 截至11日14时37分,“11.11京东全球好物节”累计下单金额突破1794亿元
  8. 魅族回应“手机无法拨打120”一事:已安排负责人与客户沟通处理
  9. Go、Java、C++,下一代测序工具开发谁更强?
  10. Visual Studio 2019 创建第一个ASP.net web应用程序
  11. matlab 摄动波浪理论,等于波浪论文,关于MATLAB在实验室波高采集中的应用相关参考文献资料-免费论文范文...
  12. R语言混合效应(多水平/层次/嵌套)模型及贝叶斯实现技术
  13. android获取电话通话记录,Android获取手机通话记录
  14. php怎么将农历转换成公历,php 公历农历如何实现转换
  15. Ant Design Pro学习记录—默认主题配色修改
  16. JS实现关闭网页广告弹窗特效
  17. python研究背景和意义_课题设计研究的背景和意义
  18. 2021年Wordpress博客装修美化(二)
  19. 智慧工地数字化管理系统助力工程项目管理强管提效
  20. 西安长安茶馆/金领女子书院环境怎么样?路线怎么走?

热门文章

  1. Mycat 连接 双击表 提示 1146-Table XXXX doesn‘t exist
  2. 我的世界关闭服务器死亡消息提示,盘点《我的世界》的12种死法,MC最全的死亡提示!你经历过几个?...
  3. 网易云音乐喊话酷狗,内涵后者疑似抄袭部分功能
  4. python的危害_Python帮助万千程序员远离猝死悲剧
  5. 动态js创建数组对象
  6. 每月碎碎念,顺便说说近期公众号的小计划
  7. 小米手机系统升级到MIUI8,Android studio真机调试须知
  8. 最简单部署k8s集群(一)
  9. python框架sanic_Sanic框架
  10. [SPSS]相应分析的SPSS实现——基于头发和瞳孔颜色的相应分析实例