Gitosis 就是一套用来管理 authorized_keys文件和实现简单连接限制的脚本。添加用户和设定权限是管理一个特殊的 Git 仓库。你只需要在这个特殊仓库内做好相应的设定,然后推送到服务器上,Gitosis 就会随之改变运行策略。
第一步:yum install python-setuptools
第二步:接下来,从 Gitosis 项目主页克隆并安装 ,执行以下命令
git clone https://github.com/tv42/gitosis.git
cd gitosis
sudo python setup.py install
第三步:创建git用户,useradd -m git (-m 用来创建用户并在home下创建目录)
第四步:上传管理员公钥 , (如果已有ssh,在 ~/.ssh下 id_rsa.pub文件) scp ~/.ssh/id_rsa.pub user@host:/tmp
第五步 : 初始化gitosis ,执行 sudo -H -u git gitosis-init < /tmp/id_dsa.pub ,初始化成功!
最后:在本地拉取 ,git clone git@gitserver:gitosis-admin.git,这会得到一个名为 gitosis-admin 的工作目录,主要由两部分组成:./gitosis.conf ./keydir ./keydir/scott.pub,仓库管理在gitosis.conf 中,keydir目录下用来保存需要拉代码的人员的公钥。
仓库配置:
[gitosis]
[group gitosis-admin] //仓库名称
members = lml //仓库可拉取成员 ,lml即为 keydir下lml.pub 前缀,多个人员以空格分隔
writable = gitosis-admin //权限为可写
仓库权限管理:
[group mobile]
members = scott josie jessica //此三个成员可读可写
writable = iphone_project
[group mobile_ro]
members = john //john 只能克隆和获取更新,不能推送
readonly = iphone_project