之前写过一个Git服务器的简单搭建,那个的权限管理是通过手动配置的。这次用Gitolite来管理,方便快捷。

环境:Ubuntu Server 16.04.3(命名GitServer),网络正确配置192.168.xx.xx(可以连接Internet),默认root账户

1. 安装Git的过程和上篇类似,就简单说

apt-get update
# 安装 ssh
apt-get install openssh-server
# 安装 Git
apt-get install git 

可能是因为新版的原因,git用户已经自动创建好,不需要手动创建git用户。

2. 切换到git用户,生成一对RSA密钥

# 先在 root 用户下创建 git 用户的密码(这是个好习惯)
passwd git# 切换到 git 用户
su git
# 生成一对 RSA 密钥
ssh-keygen -t rsa
# 一路回车下来创建成功
# 进入密钥的目标,将公钥文件改名
cd /home/git/.ssh
mv id_rsa.pub admin.pub
# GitServer 服务器将负责我的 Git 仓库管理(也可以用其他机器),命名成 admin.pub

3. 安装Gitolite

# 进入 git 用户主目录(~)
cd /home/git
# 下载 gitolite 的仓库
git clone git://github.com/sitaramc/gitolite
# 创建 bin 文件夹
mkdir -p $HOME/bin
# 安装 gitolite
gitolite/install -to $HOME/bin

4. 配置Gitolite

# 进入密钥目录
cd /home/git/.ssh
# 将管理的公钥文件 setup 到 gitolite 中
$HOME/bin/gitolite setup -pk admin.pub
# 切回git主目录,多出了一个文件、一个文件夹
cd /home/git
ls
# projects.list 文件:仓库列表文件(gitolite自动创建)
# repositories 文件夹:存放所有 git 仓库的文件夹
# repositories 文件夹已经存在两个仓库 gitolite-admin.git、test.git
# gitolite-admin.git  管理配置权限的仓库
# testing.git         测试仓库
# 管理员把 gitolite-admin 直接 clone 到本地,就可以进行管理 git 服务

5. 下载服务器端的远程管理仓库

我是在 GitServer 这个电脑上下载 gitolite-admin,也可以在其他电脑上下载 gitolite-admin 进行管理。

注:使用其他电脑进行管理,需要将其他电脑生产的公钥文件 setup 到 gitolite 中。

# 进入 git 主目录
cd /home/git
# 下载远程管理仓库, 请把 192.168.xx.xx 换成你自己服务器的域名或者ip
git clone git@192.168.xx.xx:/gitolite-admin
# 进入 gitolite-admin 目录,可以看到 conf、keydir 两个文件夹
cd gitolite-admin
# keydir  用来存放所有用户的pub公钥文件的,当前目录有 admin.pub 文件
# conf    用来配置 Git 仓库、用户、用户组权限的,由目录下 gitolite.conf 文件来配置

6. 配置gitolite.conf

# 进入 conf 目录,编辑 gitolite.conf
cd conf
vi gitolite.conf
# 文件内容如下:repo gitolite-admin  # 仓库名gitolite-adminRW+     =   admin    # 用户 admin 拥有可读写权限repo testing         # 仓库名testingRW+     =   @all     # 用户组 all 拥有可读写权限

根据需要配置权限:

创建管理组 admin,组员有 admin 和 rdongc
创建开发组 dev,组员有 2012
创建仓库 test2012
admin组 拥有 master 分支读写权
dev组 拥有 dev 分支读写权

# 需要将两个用户的公钥(rdongc.pub、2012.pub)上传到 /home/git/gitolite-admin/keydir

7. 应用修改到远程服务器端

刚刚的配置就是修改了 gitolite-admin 仓库的文件,还需要将修改后的文件提交到服务器端

# 切换到 gitolite-admin 目录
cd /home/git/gitolite-admin# 配置 git config,告诉 Git 你是谁 (根据自己情况)
git config --global user.name "admin"
git config --global user.email "admin@example.com"
# 提交到远程服务器端(提交的文件:gitolite.conf、rdongc.pub、2012.pub)
git add .
git commit -m "update gitolite-admin"
git push# 进入/home/git/repositories/目录,新增了 test2012.git 的仓库文件,这是一个空白仓库

8. 客户端clone项目

现在rdongc、2012两个用户的客户端电脑可以  clone 仓库 test2012.git

git clone git@192.168.xx.xx:test2012.git

OK,完成!

Git服务器搭建及Gitolite权限管理相关推荐

  1. Git服务器搭建和配置

    Git服务器搭建和配置 参考博客: 1.http://blog.csdn.net/michaelhan3/article/details/51637271 2.http://blog.csdn.net ...

  2. Gitea—私有git服务器搭建教程

    Gitea--私有git服务器搭建详细教程 原文章大佬 原文链接:https://blog.csdn.net/qq_45173404/article/details/122277620 什么是Gite ...

  3. 搭建git服务器并管理系统,git服务器搭建与配置管理

    git服务器搭建与配置管理 内容精选 换一换 弹性云服务器(Elastic Cloud Server)是一种可随时自动获取.计算能力可弹性伸缩的云服务器,可帮助您打造可靠.安全.灵活.高效的应用环境, ...

  4. Gitea——私有git服务器搭建详细教程

    本文将从源代码和docker安装两种方式带大家从0-1通过Gitea搭建一个私有git服务器 Gitea--私有git服务器搭建教程 什么是Gitea 一.源代码安装方式 1. 前置环境要求 2. 下 ...

  5. Git服务器搭建过程

    Git服务器搭建过程 作者:家辉  日期:2018年3月16日 CSDN博客:http://blog.csdn.net/gobitan 摘要:本文记录了Gitlab服务器的搭建过程,记录下来备用.安装 ...

  6. linux cvs 权限,Linux下cvs服务器的配置和权限管理-很详细

    GLinux下cvs服务器的配置和权限管理 1.查看是否安装cvs(redhat9缺省是装的,没有可在系统光盘中找到) #rpm -qa|grep cvs 2.下载CVSACL https://sou ...

  7. Git服务器搭建笔记

    前言:最近公司要使用git服务器对Android4.4的源码进行版本控制,所以花了些时间在Ubuntu14.04上搭建了git服务器,正好前段时间也学习了下git的使用哈哈 ------------- ...

  8. ubuntu下git服务器搭建过程

    需求 硬件需求:一台Ubuntu或者debian电脑(虚拟机),能通过网络访问到. 软件需求:git-core, gitosis, openssh-server, openssh-client, Ap ...

  9. git服务器搭建用账号和密码,git服务器搭建过程

    参考网上资料搭建git过程记录如下: 需求 硬件需求:一台Ubuntu,能通过网络访问到.软件需求:git-core, gitosis, openssh-server, openssh-client ...

最新文章

  1. 自动驾驶汽车事故的罪责追究
  2. ​CSRankings年度更新,清华北大包揽AI领域前两名​ | AI日报
  3. POJ3692 最大点权独立集元素个数
  4. DOCTYPE声明对JS获取窗口宽度和高度的影响【转】
  5. Erlang/OTP之gen_fsm行为模式
  6. QQ空间小秘书 V1.70 Beta1 ~~ 天空原创软件
  7. (转)TweenMax动画库学习(四)
  8. 【Java】注解 @Value 你真的会用么
  9. Python-OpenCV训练一个人脸识别器
  10. Hibernate HQL基础
  11. JavaScript函数参数数组arguments
  12. 深度 | 人工智能究竟能否实现?
  13. BootStrap日历插件
  14. 智商情商哪个重要_你认为哪个更重要,情商还是智商?为什么?
  15. ReentrantReadWriteLock、StampedLock
  16. 最后一本书 第六章课后练习3,4
  17. 【邮政编码识别】基于计算机视觉实现邮政编码识别含Matlab源码
  18. 算法设计与分析第一章课后作业
  19. spotify怎么设置头像_如何使Spotify停止发布到Facebook(和其他隐私设置)
  20. mysql安全性_如何提高mysql的安全性

热门文章

  1. php如何把红包放地图上,PHP实现发红包程序
  2. 用户配置文件服务登录失败。无法加载用户配置文件
  3. linux下cp复制目录时排除某些目录的方法分享,CP / SCP / RSYNC 如何在Linux中排除特定目录?...
  4. git安装mmdetection
  5. linux查看进程的cpu和内存利用率
  6. 使用Chrome-headless模式下,截屏不全屏的问题
  7. IBM董事长兼CEO致投资者的一封信
  8. 博士申请 | 美国弗吉尼亚理工贾若溪老师课题组招收机器学习方向博士生
  9. 【题解】洛谷 P8874 [传智杯 #5 初赛] F-二人的大富翁游戏
  10. 开关电源纹波的产生、测量和抑制