git版本如何控制gitosis的安装和使用,很多新手都不是很清楚。为了帮助大家解决这个问题,下面小编就给大家详细讲解一下。需要的人可以从中学习,希望你能有所收获。
Gitis是Git下的一个权限管理工具,它通过一个特殊的存储库(gitosis-admin.git)来管理Git权限。
1.服务器安装并配置gitosis。
(1)通过以下方法获取安装包
root@wz:/home/git# git克隆https://github.com/res0nat0r/gitosis
(2)使用python进行安装
root @ wz :/home/git # python git osis/setup . py install
(3)将authorized_keys删除或重命名为authorized_keys.bak Gitosis会为我们管理公钥,然后再次添加公钥,让Gitosis自动控制authorized_keys文件。
root@wz:/home/git/。ssh# pwd
/home/git/。嘘
(4)修改git用户bash之前的登录设置。
vim /etc/passwd
46 git : x :1002:1002:/home/git:/bin/bash
(5)要初始化Gitosis,需要通过自己的公钥运行gitosis-init。首先,将我的本地公钥复制到服务器:
y@y:git$ scp /home/y/。ssh/id _ RSA . pub wzh @ 192 . 168 . 0 . 143: tmp/
wzh@192.168.0.143的密码:
id _ RSA . pub 100% 399 0.4KB/s 00:00
y@y:git$
服务器执行以下操作:请注意,它不在超级管理员用户之下:
wzh @ wz :/home/git $ sudo-H-u git git osis-init ~/tmp/id _ RSA . pub
这样,公钥的所有者就可以修改包含Gitosis设置的Git存储库。
目录结构如下:
同时,将在下生成一个authorized_keys文件。嘘。
gitosis管理的存储库位于:存储库/目录下。
此时,初始化仓库/目录下的一个空仓库:
二、客户端操作gitosis
(1)现在,您可以作为初始化的Gitosis公钥的所有者尝试SSH进入服务器:
它显示Gitosis识别了用户的身份,但它切断了连接,因为它没有运行任何Git命令。
(2)在本地克隆Gitosis的控制仓库:
注意:IP后面直接跟着仓库的名称,没有路径。gitosis-admin.git位于服务器的存储库/目录下。
gitosis-admin目录结构如下:
Gitosis.conf文件是一个用于设置用户、仓库和权限的控制文件。
Keydir目录是存储具有访问权限的用户的所有公钥的地方,每个人一个。
(3)修改Gitosis.conf配置文件并同步到服务器:其运行模式与普通git仓库相同,
提交到服务器后,检查服务器:
(4)如果多人协助开发使用同一个版本库,需要将他们每个人的公钥文件添加到keydir文件夹,然后推送到服务器。
文件的名称将决定gitosis.conf配置文件中的名称。
例如,参考《ProGit》。
现在我们为约翰、乔西和杰西卡添加公钥:
$ CP/tmp/id _ RSA . John . pub key dir/John . pub
$ CP/tmp/id _ RSA . josie . pub key dir/josie . pub
$ CP/tmp/id _ RSA . Jessica . pub key dir/Jessica . pub
然后把他们都加入‘移动’团队,这样他们就可以读写iphone_project :了。
[群组移动]
可写=iphone_project
成员=斯科特约翰乔西杰西卡
Gitosis还有一个简单的访问控制功能。如果你想让约翰只有读权限,你可以这样做:
[群组移动]
可写=iphone_project
成员=斯科特乔西杰西卡
[群组手机_ro]
readonly=iphone_project
成员=约翰
现在约翰可以克隆并获得更新,但Gitosis不允许他向项目推送任何东西。
阅读以上内容对你有帮助吗?如果您想了解更多相关知识或阅读更多相关文章,请关注行业资讯频道,感谢您的支持。
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/81169.html