ubuntu下git服务器搭建

1、apt-get install git-core openssh-server openssh-client安装git需要的工具(gw作为管理账户)

2、adduser git, passwd git 创建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、默认状态下,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、现在这个AVN仓库就完成了。可以用不同账号去测试下权限

你可能感兴趣的:(ubuntu下git服务器搭建)