Git配置(三)使用gitolite控制權限
阿新 • • 發佈:2018-03-24
gitolite1、切換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控制權限