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
相關文章
相關標籤/搜索