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 runreturn app.main()File "/usr/local/lib/python2.7/dist-packages/gitosis-0.2-py2.7.egg/gitosis/app.py", line 38, in mainself.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_argsuser = 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_userraise 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配置完成
git通过gitosis来管理权限(三)相关推荐
- 为git服务器配置gitosis管理权限
yum install python-setuptools git clone https://github.com/tv42/gitosis.git cd gitosis sudo python s ...
- git通过authorized_keys来管理用户的权限(二)
首先git服务器的搭建参见:http://blog.csdn.net/lyhdream/article/details/49561645 在上一篇文章我们介绍了,通过创建用户来为开发者提供一个可以使用 ...
- Git 分支管理常见三种方式
Git 分支管理常见三种方式 TBD(Trunk-based development.单主干) GitHub flow git-flow 1. TBD 所有团队成员都在单个主干分支上进行开发. 发布时 ...
- CentOS下搭建Git服务器Gitosis
说明:由于条件有限,我这里使用的是同一台centos的,但教程内容基本上通用. 1.编译安装git git安装教程:http://blog.haohtml.com/archives/10093 2.安 ...
- Git服务器Gitosis安装设置
1.安装 openssh服务器 sudo apt-get install openssh-server openssh-client 2.创建个人公钥和私钥 在默认用户的主目录路径下,运行以下命令,按 ...
- list 分组_Todo List(源码已上传git): 待办事项自定义分组 - 第三章
点击右上方红色按钮关注"web秀",让你真正秀起来 前言 有了前面2章节的内容,相信小伙伴们自己也可以试着写写了,动手后的你们是不是发现很简单了?现在我们继续下一章节的内容,自定义 ...
- linux磁盘管理系列三:LVM的使用
2019独角兽企业重金招聘Python工程师标准>>> linux磁盘管理系列三:LVM的使用 LVM是什么 LVM是Linux操作系统的逻辑卷管理器. 现在有两个Linux版本的L ...
- 第五章用户组和管理权限
笔记整理开始2018年4月3日17:27:07 本章内容: 解释Linux的安全模型 解释用户账号和组群账号的目的 用户的组管理命令 理解并设置文件权限 默认权限 特殊权限 ACL 介绍安全3A Au ...
- 使用Git和Github来管理自己的代码和笔记
使用Git和Github来管理自己的代码和笔记 一.Github注册 1.先注册github.com的账号,官方网站: https://github.com/ 2.登录 3.创建仓库,仓库分公开的和私 ...
最新文章
- exchange 2010 search mailbox 的幕后强大功能
- 国外计算机音乐专业,音乐留学干货 | 国外电子音乐专业留学如何?
- Create Use Custom Controllers
- linux 更新cmake_VS2019 v16.4 CMake可用性更新
- solaris11-text-安装GUI(gnome)
- 那年学过的Oracle笔记
- 霍金警告人工智能危险性 称其若失控很难被阻止
- 挂载Linux镜像文件,使用镜像文件安装依赖
- h5 点击按钮生成图片分享微信朋友圈
- C语言计算高精度圆周率pi程序的代码
- 计算机软件考试初级什么好考,初级程序员好考吗
- c#:判断一个数组元素中否有重复元素
- 油菜花系统服务器能删除内容吗,油菜花期蜂群管理要点
- 标识符(Identifier)
- SQL语句--简单的函数书写举例(3)
- 头戴式耳机跑步方便吗、公认最好的跑步耳机排行榜
- 01Java方法重写与重载的区别
- 小学生C++编程基础 课程20(共7题)
- druid安装与案例
- Java Frame