gitolite实现git权限管理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 git 
$ su - git  # 切换到git用户
$ 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                 #据说不改会强制要求登录用户和文件拥有者用户相同
配置公钥(客户端)
$ ssh-keygen -t rsa # 默认文件为.ssh/id_rsa.pub
$ scp .ssh/id_rsa.pub git@host:admin.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  # 配置有授权的成员
$ vi gitolite-admin/conf/gitolite.conf  # 添加受管理的repo (repo foo \n RW+ = admin RW = alice)
$ git add conf
$ git add keydir
$ git commit -m "added foo, gave access to alice"
$ git push

以上是关于gitolite实现git权限管理的主要内容,如果未能解决你的问题,请参考以下文章

[转载] 使用Gitolite来对Git的repository实现权限控制

使用Gitolite搭建Git服务器

linux服务器上搭建gitolite实现对git server的版本库的权限控制

使用Gitolite搭建轻量级的Git服务器

centos7 安装 gitolite (git服务器)

Git配置使用gitolite控制权限