用 gitolite搭建git server实现权限控制(2)

转:http://blog.sina.com.cn/s/blog_4b5039210102e3s1.html


按照前面的步骤安装好gitlite就可以开始使用,下面就体验下gitolite强大的权限管理功能。

4. 配置权限

配置权限的过程其实就是管理员使用管理员的pubkey gitolite-admin克隆到本地,做一些配置修改,然后pushgit服务器的过程。

一定要用git-adminpubkey。因为前面已经做了config,所以当连接git-server这台设备时,用的就是git-adminpublic key


用 <wbr>gitolite搭建git <wbr>server实现权限控制(2)

!!!注意,上面的命令一定要是git clone git-server:gitolite-admin

而不是:git clone git-server:/home/git/repositories/gitolite-admin

更不是:git clone git-server:gitolite-admin.git

假如你运行git clone git-server:gitolite-admin失败,例如:

用 <wbr>gitolite搭建git <wbr>server实现权限控制(2)


上面的原因很有可能是因为git server  user 主目录下的 .ssh/authorized_keys 文件,在安装gitolite之前,已经有了你的pubkey,可以把删除掉,只留”#gitolite start”  “gitolite-end”之间的内容。

clone完后会有个新的目录gitolite-admin,里面有两个文件夹confkeydir,第一个目录中包含的是配置文件,里面就是记录权限配置的地方,第二个目录中则包含所有用户的pub key

penxiao@ubuntu:~/git/gitolite-admin$ ls

conf  keydir

penxiao@ubuntu:~/git/gitolite-admin$

现在我们打开配置文件,按照我们的权限配置需要进行设置

penxiao@ubuntu:~/git$ vim gitolite-admin/conf/gitolite.conf

文件内容如下很简单:

repo gitolite-admin

    RW+     =   admin

repo testing

    RW+     =   @all

首先 gitolite-admin只有admin有读写权限,其他人都不能读写

另外一个代码库testing是所有人都可以访问

下面我们试几个操作

 (1) 添加新用户。

首先新用户不需要知道git-servergit用户的SSH密码,所以他们登录不了shell。管理员只需要收集普通用户的public_key,并按照user_id.pub命名好。然后copykeydir目录中。通过git push回到git-server中即可。

用 <wbr>gitolite搭建git <wbr>server实现权限控制(2)

git server上看

用 <wbr>gitolite搭建git <wbr>server实现权限控制(2)

三个用户的pub key已经加好了。

此时user1,2,3能不能sshgit servershell呢,答案是不能,他们只能通过git访问git server上他们具有权限的一些代码仓库,当用户试图ssh的时候,会提示错误如下:

用 <wbr>gitolite搭建git <wbr>server实现权限控制(2)比如之前说的testing这个代码库是@all的权限,也就是任何人都有读写的权限。

用 <wbr>gitolite搭建git <wbr>server实现权限控制(2)

(2) 新建代码仓库repository

只需要在gitolite.conf里添加好对应的名字和权限,然后pushgit server即可,server端会自动帮你创建一个空的bare repository

用 <wbr>gitolite搭建git <wbr>server实现权限控制(2)

如上所示,我们首先建了一个用户组叫test,成员有user1,user2;

新建一个叫test1的代码仓库, 用户组test具有RW+权限,user3只具有R权限。

addcommitpush完以后,在server上可以看到。

 用 <wbr>gitolite搭建git <wbr>server实现权限控制(2)

多了一个叫test的代码仓库,而且权限也是和配置文件里的权限一致。

当然giolite的权限管理有更多强大的功能,这里就不一一实验了。

更多功能请参考官方文档:

http://gitolite.com/gitolite/master-toc.html


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值