Gitolite服务器的管理

本文介绍如何使用Gitolite进行用户管理和权限配置,包括添加新用户、配置用户SSH公钥、修改用户权限等内容,并详细解释了授权文件gitolite.conf的语法。

搭建好gitolite服务器后, 服务器端会生成一个用于gitolite自管理的git库.通过git clone git@ip:gitolite-admin命令可以克隆这个库进行gitolite的管理

1. gitolite-admin下面两个目录的作用

    conf/gitolite.conf    是一个授权文件, 通过它配置各个用户对各个版本库的访问权限, 后面会详细讲它的语法

    keydir/   用于保存用户的ssh公钥

2. 为gitolite新增用户

    新增用户, 也就是允许新用户通过其公钥访问gitolite的服务. 具体的操作步骤如下
    1. 管理员从用户获取其ssh公钥, 并将公钥以username.pub来命名, 为授权文件使用的时候提供方便.
    2. 管理员将从用户处取得的公钥复制到gitolite-admin/keydir目录下
    3. git add keydir/username.pub
    4. git commit -m "add user username"
    5. git push
    此时查看服务器端git用户目录下的.ssh/authorized_keys文件会发现新增的用户公钥已经在里面了

3. 为用户更改授权

    通过修改gitolite-admin/conf/gitolite.conf的配置, 然后提交改动. 就完成了授权动作.

    授权文件的语法
    1. 使用@符号定义用户组 后面可以加一个或多个用户名, 各个用户名使用空格进行分割
         如@team_android = user1 user2 user3
         组是可以嵌套的
         如@staff  = @team_android user3
    2. 使用repo 定义一个版本库
         如 repo project/android
              repo project/iOS
    3. 使用R W +分别控制用户对版本库的读写和强制更新的权限
         如 repo project/android
                  RW+      =         user6
         指定user6对版本库project/android有读写和强制更新的权限.
    4. gitolite还支持通过正则表达式来指定版本库授权
         如 repo ossxp/.+
              RW        @team_android
    5. gitolite支持用户对版本库某个分支的授权
        如 repo testing
                 RW       master        junio
                 RW+     pu               junio
    6. 通过repo指定版本库的时候支持前面带目录的形式
        如 repo  sandbox/test1/android
    授权关键字
    C                        代表创建   仅仅在通配符版本库授权时可以使用, 用于指定谁可以创建与通配符匹配的版本库
    R                        只读
    W                       读写
    RW+                 除了读写还可以执行非快进式推送
    RWD、RWD+只有当授权指令中定义了正则引用(正则表达式定义的分支、里程碑等)   时才可以使用此授权指令
                             D的含义是允许删除和正则表达式匹配的引用, +的含义是允许强制推送
    RWCD、RW+CD 各个字母的含义同上.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值