Gitolite相比原始的git,最强大的就是权限控制了。所以我们一起来配置吧。
1、Ubuntu上安装Gitolite
sudo apt-get install gitolite
2、为了方便,添加用户git,专门用于提供git服务
sudo adduser --system --shell /bin/bash --gecos 'git version control' --group --disabled-password --home /home/git git
3、在客户端生成rsa密钥对并将公钥文件传到服务器上
ssh-keygen -t rsa
上传就很多方法了,scp、sftp都可以
拥有对应密钥的客户端拥有管理权限
4、gitolite初始化
sudo su git
gitolite setup -pk id_rsa.pub(公钥文件)
这样会生成projects.list文件和repositories目录
projects.list包含客户的项目列表,现在只有testing.git
repositories目录下有两个git项目,gitolite-admin.git和testing.git,gitolite-admin用于权限管理,testing用于测试
5、配置权限
使用包含被上传公钥对应的密钥的客户端clone gitolite-admin项目
git clone git@xxxxx:gitolite-admin.git
进入目录,发现有conf和keydir两个目录
keydir存放客户端的公钥
conf存放权限配置文件
修改这些文件就好啦!