首先,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来管理权限(三)相关推荐

  1. 为git服务器配置gitosis管理权限

    yum install python-setuptools git clone https://github.com/tv42/gitosis.git cd gitosis sudo python s ...

  2. git通过authorized_keys来管理用户的权限(二)

    首先git服务器的搭建参见:http://blog.csdn.net/lyhdream/article/details/49561645 在上一篇文章我们介绍了,通过创建用户来为开发者提供一个可以使用 ...

  3. Git 分支管理常见三种方式

    Git 分支管理常见三种方式 TBD(Trunk-based development.单主干) GitHub flow git-flow 1. TBD 所有团队成员都在单个主干分支上进行开发. 发布时 ...

  4. CentOS下搭建Git服务器Gitosis

    说明:由于条件有限,我这里使用的是同一台centos的,但教程内容基本上通用. 1.编译安装git git安装教程:http://blog.haohtml.com/archives/10093 2.安 ...

  5. Git服务器Gitosis安装设置

    1.安装 openssh服务器 sudo apt-get install openssh-server openssh-client 2.创建个人公钥和私钥 在默认用户的主目录路径下,运行以下命令,按 ...

  6. list 分组_Todo List(源码已上传git): 待办事项自定义分组 - 第三章

    点击右上方红色按钮关注"web秀",让你真正秀起来 前言 有了前面2章节的内容,相信小伙伴们自己也可以试着写写了,动手后的你们是不是发现很简单了?现在我们继续下一章节的内容,自定义 ...

  7. linux磁盘管理系列三:LVM的使用

    2019独角兽企业重金招聘Python工程师标准>>> linux磁盘管理系列三:LVM的使用 LVM是什么 LVM是Linux操作系统的逻辑卷管理器. 现在有两个Linux版本的L ...

  8. 第五章用户组和管理权限

    笔记整理开始2018年4月3日17:27:07 本章内容: 解释Linux的安全模型 解释用户账号和组群账号的目的 用户的组管理命令 理解并设置文件权限 默认权限 特殊权限 ACL 介绍安全3A Au ...

  9. 使用Git和Github来管理自己的代码和笔记

    使用Git和Github来管理自己的代码和笔记 一.Github注册 1.先注册github.com的账号,官方网站: https://github.com/ 2.登录 3.创建仓库,仓库分公开的和私 ...

最新文章

  1. exchange 2010 search mailbox 的幕后强大功能
  2. 国外计算机音乐专业,音乐留学干货 | 国外电子音乐专业留学如何?
  3. Create Use Custom Controllers
  4. linux 更新cmake_VS2019 v16.4 CMake可用性更新
  5. solaris11-text-安装GUI(gnome)
  6. 那年学过的Oracle笔记
  7. 霍金警告人工智能危险性 称其若失控很难被阻止
  8. 挂载Linux镜像文件,使用镜像文件安装依赖
  9. h5 点击按钮生成图片分享微信朋友圈
  10. C语言计算高精度圆周率pi程序的代码
  11. 计算机软件考试初级什么好考,初级程序员好考吗
  12. c#:判断一个数组元素中否有重复元素
  13. 油菜花系统服务器能删除内容吗,油菜花期蜂群管理要点
  14. 标识符(Identifier)
  15. SQL语句--简单的函数书写举例(3)
  16. 头戴式耳机跑步方便吗、公认最好的跑步耳机排行榜
  17. 01Java方法重写与重载的区别
  18. 小学生C++编程基础 课程20(共7题)
  19. druid安装与案例
  20. Java Frame

热门文章

  1. Hadoop学习笔记系列文章导航
  2. 数字图像处理领域的二十四个典型算法及vc实现、第一章
  3. jQuery 效果 - animate() 方法
  4. (诊断)No module named MySQLdb
  5. Fedora 17安装NVIDIA显卡驱动
  6. 1024分辨率章子怡/郭富城《最爱》HD国语中字
  7. matlab练习程序(点云下采样)
  8. MQTT+ActiveMQ实现消息推送
  9. 深入理解Memcache原理
  10. 搭建WAMP 环境时,解决Windows下输入localhost找不到网页的问题