gitolite实现git权限管理

环境要求

ssh

$ sudo apt-get install ssh # 安装 $ sudo /etc/init.d/ssh start # 启动 $ sudo vi /etc/rc.local # 添加到开机启动
vsftpd
$ sudo apt-get install vsftpd 
$ sudo /etc/init.d/vsftpd start
$ sudo vi /etc/rc.local
git
$ sudo apt-get install git-core

权限配置

添加git用户(服务器)
$ sudo adduser newUser
$ su -newUser
# 切换到newUser用户 $ git clone git://github.com/sitaramc/gitolite # 辅助管理Git权限 $ mkdir bin $ gitolite/install -to ~/bin
配置ssh(服务器root权限)
RSAAuthentication yes #开启RSA认证功能 PubkeyAuthentication yes #开启公匙认证 AuthorizedKeysFile .ssh/authorized_keys #公钥文件位置 StricModes no #听说不改会强制要求登陆用户和文件拥有者用户相同
配置公钥(客户端):在git bash 中输入一下命令
$ ssh-keygen -t rsa # 默认文件为.ssh/id_rsa.pub $ scp .ssh/id_rsa.pub linux服务器对应服务器名称@linux服务器对应host:newUser.pub
配置公钥及文件访问权限(服务器)
$ bin/gitolite setup -pk admin.pub # 添加客户端公钥文件到受权密钥中 $ chmod 700 -R .ssh $ chmod 600 .ssh/authorized_keys
gitolite客户端实现权限管理(拥有管理权的客户端)
$ git clone git@host:gitolite-admin $ mv alice.pub gitolite-admin/keydir # 配置有受权的成员,需先用FTP把 alice.pub文件上传至git 对应目录下 $ vi gitolite-admin/conf/gitolite.conf # 添加受管理的repo (repo foo \n RW+ = admin RW = alice)  
cd gitolite-admin$
$ git add conf
$ git add keydir $ git commit -m "added foo, gave access to alice" $ git push
相关文章
相关标签/搜索