git版本控制gitosis的安装与使用
gitosis是Git下的权限管理工具,通过一个特殊的仓库(gitosis-admin.git)对Git权限进行管理。
一、服务端安装并配置gitosis
(1)通过以下方式获取到安装包
root@wz:/home/git# git clone https://github.com/res0nat0r/gitosis
(2)使用python进行安装
root@wz:/home/git# python gitosis/setup.py install
(3)将authorized_keys移除或重新命名为authorized_keys.bak,Gitosis 将为我们管理公钥,后再重新添加公钥,并且让 Gitosis 自动控制authorized_keys文件。
root@wz:/home/git/.ssh# pwd
/home/git/.ssh
(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's password:
id_rsa.pub 100% 399 0.4KB/s 00:00
y@y:git$
服务端执行以下操作:注意不是在超级管理员用户下的:
wzh@wz:/home/git$ sudo -H -u git gitosis-init < ~/tmp/id_rsa.pub
这样该公钥的拥有者就能修改包含着 Gitosis 设置的那个 Git 仓库了。
此时目录结构如下:
同时.ssh下面会生成一个:authorized_keys文件
由gitosis管理的仓库放在:repositories/目录下面
此时在repositories/目录下面初始化一个空的仓库:
二、客户端操作gitosis
(1)现在可以试一下用初始化 Gitosis 公钥的拥有者身份 SSH 进服务器:
说明 Gitosis 认出了该用户的身份,但由于没有运行任何 Git 命令所以它切断了连接。
(2)克隆 Gitosis 的控制仓库到本地:
注意:IP后面直接跟仓库的名称,无需路径,gitosis-admin.git在服务端的 repositories/目录下面。
gitosis-admin目录结构如下:
gitosis.conf文件是用来设置用户、仓库和权限的控制文件。
keydir 目录则是保存所有具有访问权限用户公钥的地方每人一个。
(3)修改 gitosis.conf配置文件并同步到服务端:其操作方式与普通的Git仓库一致,
提交到服务端之后,查看服务端:
(4)如果是多人协助开发同用一个版本库,则需要将他们每个人的公钥文件添加到keydir文件夹然后push到服务端。
文件的命名将决定在gitosis.conf配置文件中的称呼。
例如:参考《ProGit》
现在我们为 John,Josie 和 Jessica 添加公钥:
$ cp /tmp/id_rsa.john.pub keydir/john.pub
$ cp /tmp/id_rsa.josie.pub keydir/josie.pub
$ cp /tmp/id_rsa.jessica.pub keydir/jessica.pub
然后把他们都加进 ‘mobile’ 团队,让他们对iphone_project具有读写权限:
[group mobile]
writable = iphone_project
members = scott john josie jessica
Gitosis 也具有简单的访问控制功能。如果想让 John 只有读权限,可以这样做:
[group mobile]
writable = iphone_project
members = scott josie jessica
[group mobile_ro]
readonly = iphone_project
members = john
现在 John 可以克隆和获取更新,但 Gitosis 不会允许他向项目推送任何内容。
git版本控制gitosis的安装与使用相关推荐
- git版本控制工具的安装以及关联远程仓库(gitee为例)
安装git(版本控制工具) 360软件管家安装(网络不佳的同学) git --version(测试是否安装完成,或者在桌面右击可以看到Git Gui here和Git Bash here) 配置用户名 ...
- git修改服务器的命令行,Git版本控制工具安装及命令行操作
很多小伙伴不知道如何来安装Git版本控制工具,对于命令操作比较陌生.本文做了一个详细的文档,希望对大家有所帮助. 1.git 是什么一个分布式版本控制系统,和SVN类似,但远比SVN强大的一个版本控制 ...
- Git服务器Gitosis安装设置
1.安装 openssh服务器 sudo apt-get install openssh-server openssh-client 2.创建个人公钥和私钥 在默认用户的主目录路径下,运行以下命令,按 ...
- 为git服务器配置gitosis管理权限
yum install python-setuptools git clone https://github.com/tv42/gitosis.git cd gitosis sudo python s ...
- Git 版本控制之 GitFlow
来源: http://t.cn/EbZKx96 最近在着手制定开发规范,想要把项目正规高效的跑起来.计划引入 Git 版本控制,Git-Flow 便成为了首选.因为之前并没有过多接触,所以先花些时间 ...
- git版本控制工具(二)----本地版本库的常用操作
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...
- git通过gitosis来管理权限(三)
首先,git服务器的安装参见 http://blog.csdn.net/lyhdream/article/details/49561645 这篇文章的一小节. 开始安装gitosis 一.首先安装py ...
- CentOS下搭建Git服务器Gitosis
说明:由于条件有限,我这里使用的是同一台centos的,但教程内容基本上通用. 1.编译安装git git安装教程:http://blog.haohtml.com/archives/10093 2.安 ...
- Git版本控制工具的使用一
Git是一个开源的分布式版本控制工具,它的开发者就是Linux操作系统的作者Linus Tovarlds.Git被开发出来的初衷是为了更好的管理Linux内核,如今却被广泛地用于全球各大大中小型的项目 ...
- 九步学会Git版本控制的基础使用(保姆级教程)
Git版本控制的基础使用 ==一.简介.安装与配置== ==简介== ==安装== ==配置== ==二.创建项目.忽略文件== ==三.初始化仓库== ==四.检查状态== ==五.加入仓库== = ...
最新文章
- android5.0(Lollipop) BLE Peripheral深入理解系统篇之提高篇
- 编译安装php之安装libiconv-1.14.tar.gz出错解决方法
- python学习-数据类型(布尔、空值)
- 【Transformer】ViT:An image is worth 16x16: transformers for image recognition at scale
- 【线性dp】【决策优化】CH5E02
- Socket编程:之TCP案例
- 泛型(java菜鸟的课堂笔记)
- Oracle BCT(Block Change Tracking)与增量备份
- TensorFlow 2.4 发布
- iis5.1配置php运行环境
- 图像融合(三)-- 拉普拉斯金字塔
- 2017值得一瞥的JavaScript相关技术趋势
- 强化学习在游戏中的作用_游戏中的强化学习
- Es6 类class的关键 super、static、constructor、new.target
- 安卓端黑名单拦截电话
- 展讯8541E:NFC PM1810驱动调试
- python使用抓包工具Fiddler4和selenium获取国家药监局网站数据
- cc2430的中文资料
- Oracle导入sas数据集,来自SAS数据集的Oracle表
- 关于bios+mbr还原uefi+gpt的系统后,出现进不去系统的问题