git通过gitosis来管理权限(三)

首先,git服务器的安装参见

http://blog.csdn.net/lyhdream/article/details/49561645

这篇文章的一小节。


开始安装gitosis

一、首先安装python工具:

apt-get install python-setuptools

二、获取并安装gitosis:
进入/tmp目录(将要安装的gitosis文件克隆到该目录)
cd  /tmp
安装gitosis:
git clone https://github.com/tv42/gitosis.git
cd gitosis
sudo python setup.py install

三、创建一个用户git:
adduser git

四、将该user添加到root组里(如果登录该用户可以执行sudo的话,可以省略该步骤)
执行:visudo
找到:
root    ALL=(ALL:ALL) ALL
在下面添加一行:
git    ALL=(ALL:ALL) ALL


五、添加git用户为仓库管理员:
su git
cd ~
mkdir .ssh
cd .ssh
ssh-keygen -t rsa
cp /home/git/.ssh/id_rsa.pub  /tmp
sudo -H -u git gitosis-init < /tmp/id_rsa.pub  
 
在上面一个步骤如果报类似以下的错误:
Traceback (most recent call last):
  File "/usr/local/bin/gitosis-init", line 9, in <module>
    load_entry_point('gitosis==0.2', 'console_scripts', 'gitosis-init')()
  File "/usr/local/lib/python2.7/dist-packages/gitosis-0.2-py2.7.egg/gitosis/app.py", line 24, in run
    return app.main()
  File "/usr/local/lib/python2.7/dist-packages/gitosis-0.2-py2.7.egg/gitosis/app.py", line 38, in main
    self.handle_args(parser, cfg, options, args)
  File "/usr/local/lib/python2.7/dist-packages/gitosis-0.2-py2.7.egg/gitosis/init.py", line 123, in 


handle_args
    user = ssh_extract_user(pubkey)
  File "/usr/local/lib/python2.7/dist-packages/gitosis-0.2-py2.7.egg/gitosis/init.py", line 39, in 


ssh_extract_user
    raise InsecureSSHKeyUsername(repr(user))
gitosis.init.InsecureSSHKeyUsername: Username contains not allowed characters: 'git@2f3c81d1dac3'

重启系统,重新生成秘钥对来解决。参见文章:
http://blog.csdn.net/lyhdream/article/details/49619805


启动Gitosis之后,会自动初始化gitosis-admin.git库文件
此时去/home/git/repositories下可以看到gitosis-admin.git库文件。
权限控制在gitosis.conf,公钥SSH Key文件放在/home/git/repositories/gitosis-admin.git/gitosis-export/keydir下,以后所有的客户端用户的公钥都放在这个文件下。

这样,当有新开发者加入项目的时候,将它生成的公钥放到/home/git/repositories/gitosis-admin.git/gitosis-export/keydir目录下,就拥有正常的代码推送权限了。

将git用户的公钥放到/home/git/repositories/gitosis-admin.git/gitosis-export/keydir目录下:

cp /home/git/.ssh/id_rsa.pub /home/git/repositories/gitosis-admin.git/gitosis-export/keydir

到此,gitosis配置完成



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值