ubuntu Gitolite管理git server代码库权限

简介:

公司代码库用Git,全部用SSH认证,多个代码库多个用户,权限管理是个头疼的问题,今天终于有空测试下Gitolite,

Gitolite是在Git之上的一个授权层,依托sshd或者httpd来进行认证。(概括:认证是确定用户是谁,授权是决定该用户是否被允许做他想做的事情)。

Gitolite允许你定义访问许可而不只作用于仓库,而同样于仓库中的每个branch和tag name。你可以定义确切的人(或一组人)只能push特定的"refs"(或者branches或者tags)而不是其他人。

测试环境:

wKiom1YfTjHCrNewAAC_QNGRQL0134.jpg


【Gitolite服务器】git代码库和Gitolite是同一台服务器。

【管理端】管理员管理Gitolite

【客户端】Git代码库使用者


安装Gitolite

首先各服务器都要安装git环境,

ubuntu: apt-get install git-core 或 apt-get install git
centos: yum install git



Gitolite服务器

建gituser帐号,源代码仓库放在服务器的普通帐号下
root@gitserver# adduser --system --shell  /bin/bash --group gituser
root@gitserver# passwd gituser
  用户gituser设定密码,在SSH公钥建立后可以把这个密码禁掉


管理端生成密钥

root@server# adduser gitadmin
root@server# passwd gitadmin
root@server#su - gitadmin
gitadmin@server~$ssh-keygen -t rsa
这样就生成gitadmin的密钥
我们将gitadmin下的密钥拷贝到Gitolite的gituser用户下

gitadmin@server~$ssh-copy-id -i ~/.ssh/id_rsa.pub  gituser@192.168.1.50
第一次传输要输入gituser的密码即可。

本文转自 jackjiaxiong 51CTO博客,原文链接:
http://blog.51cto.com/xiangcun168/1703328

相关文章
|
7月前
|
小程序 Shell 网络安全
【微信小程序】-- 使用 Git 管理项目(五十)
【微信小程序】-- 使用 Git 管理项目(五十)
|
7月前
|
存储 Linux 项目管理
Linux|如何管理多个Git身份
Linux|如何管理多个Git身份
47 0
|
7月前
|
Linux 开发工具 数据安全/隐私保护
【Linux】—— git的管理以及使用
【Linux】—— git的管理以及使用
106 0
|
28天前
|
Ubuntu Shell 开发工具
ubuntu/debian shell 脚本自动配置 gitea git 仓库
这是一个自动配置 Gitea Git 仓库的 Shell 脚本,支持 Ubuntu 20+ 和 Debian 12+ 系统。脚本会创建必要的目录、下载并安装 Gitea,创建 Gitea 用户和服务,确保 Gitea 在系统启动时自动运行。用户可以选择从官方或小绿叶技术博客下载安装包。
45 2
|
7月前
|
存储 开发工具 数据库
git的标签管理
git的标签管理
|
4月前
|
开发工具 git
【Azure App Service】App Service设置访问限制后,使用git clone代码库出现403报错
【Azure App Service】App Service设置访问限制后,使用git clone代码库出现403报错
|
4月前
|
Java 开发工具 git
【Azure 应用服务】本地Git部署Java项目到App Server,访问无效的原因
【Azure 应用服务】本地Git部署Java项目到App Server,访问无效的原因
|
5月前
|
存储 开发工具 git
好的git管理方法,标明项目_编号_(功能,不过还是在没有bug出现时就提交为好)+Excel表管理的格式
好的git管理方法,标明项目_编号_(功能,不过还是在没有bug出现时就提交为好)+Excel表管理的格式
|
7月前
|
存储 Linux 项目管理
Git管理与协作指南
Git管理与协作指南
|
6月前
|
开发工具 git
大事件项目66-----项目中git的管理使用
大事件项目66-----项目中git的管理使用