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、默認狀態(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文件的寫權限,命令是:chmod u+w /etc/sudoers3.編輯sudoers 文件vi /etc/sudoers找到這行 root ALL=(ALL) ALL,在他下面添加xxx ALL=(ALL) ALL (這里的xxx是你的用戶名)4.撤銷sudoers文件寫權限,命令: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,然后把這個權限給cjp
14、切換回cjp,進入for-cjp,輸入git clone git@192.168.5.200:gitosis-admin.git
15、所有需要管理權限的用戶都要先輸入ssh-keygen -t rsa,然后把~/.ssh/id_rsa.pub這個文件交給管理員,管理員把這些文件按照不同用戶進行重新命名? ? ,例如cjp@etrans.pub,git@etrans.pub等,管理員把這些文件cp到克隆下來的gitosis-admin目錄下的keydir里面
16、vi gitosis.conf,在gitosis-admin的組下面members添加git@etrans root@etrans,這樣能夠管理用戶權限的就是賬號? ? root和git
17、新建AVN.git倉庫是在這個gitosis.conf,新建組例如group AVN,給它的成員cjp@etrans,gw@etrans,writable=AVN,新建組例如group? ? hello,給它的成員 a@etrans ,readonly=AVN。這樣就給AVN倉庫分配了權限,git,cjp和gw是可以讀寫的,a只有讀權限
[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,這樣權限就配置好了,也掛了一個AVN倉庫,目前的AVN.git倉庫是空的,就算是有權限的賬號去克隆也會提示出
21、mkdir AVN然后進入之后輸入git init
22、git remote add origin git@192.168.5.200:AVN.git
23、隨便放點東西進去
24、git commit -am "AVN"
25、git push
26、現(xiàn)在這個AVN倉庫就完成了。可以用不同賬號去測試下權限