1. 程式人生 > >Git配置(三)使用gitolite控制權限

Git配置(三)使用gitolite控制權限

gitolite

1、切換git用戶

su - git

2、獲取gitolite,不能到github下載tar或zip包解壓,缺少.git目錄,安裝時獲取不到版本

git clone https://github.com/sitaramc/gitolite

可能會現如下錯誤
Unable to find remote helper for ‘https‘
需要再環境變量中增加/usr/libexec/git-core配置
切換root用戶

vim /etc/profile

修改最後一行

export PATH="/usr/local/git/bin:/usr/libexec/git-core:$PATH"

執行source命令

source /etc/profile

切換回git用戶

還可能會出現如下錯誤
技術分享圖片
需要更新以下庫

yum update -y nss curl libcurl

3、安裝gitolite

mkdir $HOME/bin
gitolite/install -to $HOME/bin
cd bin/

可以按照以下內容
技術分享圖片
4、配置管理員

ssh-keygen -t rsa

一路回車
技術分享圖片
5、修改公鑰名稱(這裏起名為admin,後續再gitolite中配權限對admin進行配就行了,代表本機)

cd $HOME
mv .ssh/id_rsa.pub admin.pub
$HOME/bin/gitolite setup -pk admin.pub

技術分享圖片
6、生成管理員倉庫(後續對權限、項目的配置就在這個倉庫配置,配置後push即可)

git clone [email protected]:gitolite-admin
cd gitolite-admin

技術分享圖片
7、配置gitolite-admin

vim gitolite-admin/conf/gitolite.conf

技術分享圖片

新建一個project項目
定義兩個用戶組: admin 和 user
用戶admin 對 有(讀 寫 刪除)RW+ 權限
user組對project 有 (讀 寫)RW 權限

8、提交修改

git add .
git commit -am "add project"

可能會出現下面錯誤,需要設置一下email和name
技術分享圖片

git config --global user.email "[email protected]"
git config --global user.name "xxxx"

再次提交

git commit -am "add project"
git push origin master

技術分享圖片
提交完後,可以看到多了project目錄
技術分享圖片

9、客戶端訪問
在客戶機要下載的目錄右鍵打開Git Bash,輸入

ssh-keygen -t rsa

一路回車,在用戶目錄下的.ssh會生成id_rsa.pub公鑰,上傳公鑰至gitolite-admin的keydir目錄下,修改id_rsa.pub為test(根據實際情況修改)

mv id_rsa.pub test

修改gitolite.conf文件增加test用戶對project項目的訪問權限

vim gitolite-admin/conf/gitolite.conf

技術分享圖片
提交到版本庫

git add .
git commit -am "add auth to test for project"
git push origin master

在windown的Git Bash輸入以下命令,下載project項目

git clone [email protected]:/project.git

Git配置(三)使用gitolite控制權限