ubuntu下git服務(wù)器搭建

1、apt-get install git-core openssh-server openssh-client安裝git需要的工具(gw作為管理賬戶)

2、adduser git, passwd git 創(chuàng)建git用戶

#3、在root目錄下mkdir /home/git_git,chown gw:gw /home/git_git,chmod 700 /home/git_git

4、切換到git賬號下輸入git config --global user.name "cjp",git config --global user.email "gw@163.com"

5、輸入sudo apt-get install python-setuptools

6、cd /tmp然后輸入git clone https://github.com/res0nat0r/gitosis.git

7、輸入cd gitosis,輸入sudo python setup.py install

8、默認(rèn)狀態(tài)下,gitosis會將git倉庫放在git用戶的home下,所以我們做一個鏈接到/home/cjp_git,輸入ln -s? ? /home/git_git /home/gw/repositories

9、換到個人賬號下如cjp,輸入ssh-keygen -t rsa,輸入scp ~/.ssh/id_rsa.pub gw@192.168.213.131:/tmp(問題解決方案ssh -o StrictHostKeyChecking=no? 192.168.213.131)

10、輸入sudo chmod a+r /tmp/id_rsa.pub

( 1.切換到root用戶下,怎么切換就不用說了吧,不會的自己百度去.2.添加sudo文件的寫權(quán)限,命令是:chmod u+w /etc/sudoers3.編輯sudoers 文件vi /etc/sudoers找到這行 root ALL=(ALL) ALL,在他下面添加xxx ALL=(ALL) ALL (這里的xxx是你的用戶名)4.撤銷sudoers文件寫權(quán)限,命令:chmod u-w /etc/sudoers)

11、輸入sudo -H -u git gitosis-init < /tmp/id_rsa.pub ,這樣就建立了一個gitosis-admin.git倉庫在/home/git_git下

12、換到root賬號下,輸入chmod 755 /home/cjp_git/gitosis-admin.git/hooks/post-update

13、建一個文件夾例如for-cjp,然后把這個權(quán)限給cjp

14、切換回cjp,進(jìn)入for-cjp,輸入git clone git@192.168.5.200:gitosis-admin.git

15、所有需要管理權(quán)限的用戶都要先輸入ssh-keygen -t rsa,然后把~/.ssh/id_rsa.pub這個文件交給管理員,管理員把這些文件按照不同用戶進(jìn)行重新命名? ? ,例如cjp@etrans.pub,git@etrans.pub等,管理員把這些文件cp到克隆下來的gitosis-admin目錄下的keydir里面

16、vi gitosis.conf,在gitosis-admin的組下面members添加git@etrans root@etrans,這樣能夠管理用戶權(quán)限的就是賬號? ? root和git

17、新建AVN.git倉庫是在這個gitosis.conf,新建組例如group AVN,給它的成員cjp@etrans,gw@etrans,writable=AVN,新建組例如group? ? hello,給它的成員 a@etrans ,readonly=AVN。這樣就給AVN倉庫分配了權(quán)限,git,cjp和gw是可以讀寫的,a只有讀權(quán)限

[gitosis]

[group gitosis-admin]

writable = gitosis-admin

members = git@etrans root@etrans

[group AVN]

writable = AVN

members = cjp@etrans gw@etrans git@etrans

[group hello]

readonly = AVN

members = a@etrans

18、回到gitosis-admin目錄下,git add .

19、輸入git commit -am "add gitosid access"

20、輸入git push,這樣權(quán)限就配置好了,也掛了一個AVN倉庫,目前的AVN.git倉庫是空的,就算是有權(quán)限的賬號去克隆也會提示出

21、mkdir AVN然后進(jìn)入之后輸入git init

22、git remote add origin git@192.168.5.200:AVN.git

23、隨便放點(diǎn)東西進(jìn)去

24、git commit -am "AVN"

25、git push

26、現(xiàn)在這個AVN倉庫就完成了。可以用不同賬號去測試下權(quán)限

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容