用的系统是 ubuntu 16.04,用gitosis来管理用户
安装必要的软件
sudo apt install git openssh-server openssh-client
sudo apt install python-setuptools
配置用户
git config --global user.name "myname"
git config --global user.email "******@gmail.com"
安装gitosis
git clone https://github.com/res0nat0r/gitosis.git
cd gitosis/
sudo python setup.py install
创建git用户
sudo useradd -m git
sudo passwd git
建一个git库,用于存放代码
sudo mkdir /home/gitrepository
sudo chown git:git /home/gitrepository/
sudo chmod 700 /home/gitrepository/
把git库放到git用户下面管理
sudo ln -s /home/gitrepository /home/git/repositories
以上安装好所有的软件了
生成公钥
ssh-keygen -t rsa
初始化gitosis
sudo -H -u git gitosis-init < /home/用户名/.ssh/id_rsa.pub
提一下权限
sudo chmod 755 /home/gitrepository/gitosis-admin.git/hooks/post-update
然后就可以到用户下面去使用了
git clone git@localhost:gitosis-admin.git
cd gitosis-admin
keydir是用来添加用户的公钥的
gitosis.conf是用管理用户的