`
逍遥一狂
  • 浏览: 191753 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

企业级Git Server服务器架设,使用Gitolite管理权限

 
阅读更多

1. 在服务器上创建Git管理员帐号git

$sudo adduser git

 

2. 在客户端创建管理员公匙(Unix/Linux)

$ssh-keygen

然后一路回车,提示成功生成2个文件

~/.ssh/id_rsa

~/.ssh/id_rsa.pub (公匙)

 

3. 在客户端将公匙上传到服务器上管理员的主目录(没装SSH就发邮件吧:),并重命名为git.pub

$scp ~/.ssh/id_rsa.pub git@YOUR_SERVER:/home/git/git.pub

 

4. 在服务器上安装git-core

$sudo apt-get install git-core

 

5. 在服务器上安装Gitolite,使用账户git打开shell,否则会找不到命令

$git clone git://github.com/sitaramc/gitolite
$cd gitolite
$src/gl-system-install
$gl-setup ~/git.pub

 

6. 客户端clone一个管理库,修改里面的文件,就可以管理仓库、用户、组、权限等等内容了

$git clone git@YOUR_SERVER:gitolite-admin
 

 

关于Gitolite的权限管理,下面是一些入门知识

翻译了部分官方文档

http://sitaramc.github.com/gitolite/doc/gitolite.conf.html

 

syntax 语法

通常情况下,语法里都是以空格分隔的; 不使用逗号分号等符号.

注释跟Shell注释一样

用户名 和 仓库名 尽量简单; 必须以字母和数字开头, 后面可以包含._或 -.

用户名可以跟字符@并加域名,域名至少含有1个. (也就是允许使用邮箱地址做用户名). 仓库名可以含有斜线/(这可以很方便地将仓库组织成数状结构)

 

continuation lines 续行

没有续行 -- gitolite不处理C语言里反斜线\转译的任何特殊的新行. 但是"群组"章节会告诉你如何把一大串的名称定义成多行.

 

include files 文件包含

Gitolite允许把配置放在多个文件里,使用的时候很方便地包含到到主文件里.

include     "foo.conf"

上面代码将把同目录下的foo.conf包含进主配置文件. 也可以使用绝对路径, 不过明智的话应该避免那样做!

也可以使用通配符,如:

include     "*.conf"

这样会包含主配置所在目录下所有的".conf"文件.

处理过的文件都会略过,并报个警告.

 

basic access control 基本访问控制

下面是一组最基本的规则:

repo    gitolite-admin
        RW+     =   sitaram

repo    testing
        RW+     =   @all

repo    gitolite simplicity
        RW+     =   sitaram dilbert
        RW      =   alice ashok
        R       =   wally

意思应该很容易猜到了:

  • R表示读权限
  • RW表示读写权限, 不能rewind
  • RW+表示读写权限, 允许rewind

groups 群组

Gitolite允许你定义仓库groups,用户groups,甚至是refexes groups. group在语义上类似C语言里的#define(但不是语法上). 下面是每种group的例子:

@oss_repos  =   gitolite linux git perl rakudo entrans vkc
@staff      =   sitaram some_dev another-dev
@important  =   master$ QA_done refs/tags/v[0-9]

group定义语法很简单:

@groupname = [one or more names]

 

group可以累积值,例如:

@staff      =   sitaram some_dev another-dev
@staff      =   au.thor

跟下面效果相同

@staff      =   sitaram some_dev another-dev au.thor

 

这比续行方便多了,可以在任何地方增加group. 很多人从数据库里生成gitolite.conf, 能做这种事情是非常有用的.

 

Groups可以包含别的groups, 被包含的group会展开他的当前值:

@staff      =   sitaram some_dev another-dev    # line 1
@staff      =   au.thor                         # line 2
@interns    =   indy james                      # line 3
@alldevs    =   bob @interns @staff             # line 4

"@alldevs" 展开了7个用户名. 然而要记住配置文件只顺序解析1次,所以后面给group增加的用户不影响前面的结果. 例如把第2行移动到最后, "@alldevs"就只有6个用户名了.

 

特殊的 @all group

有个特殊群组叫@all

作为用户名使用时,包含了所有通过身份验证的用户; 前面你已经看到例子了.

作为仓库名使用时, 包含所有仓库.

分享到:
评论

相关推荐

    使用Gitolite搭建轻量级的Git服务器

    在Git服务管理工具这个领域,主要有三种流行的方案,...对于个人,中小型企业及一些开源项目而言,如果没有特殊的要求,其实没有必要去架设上面第三种方案Git服务器。Gitolite提供的服务已经足够用。下面将详细讲解怎

    Gitolite构建Git服务器

    总的来说,Gitolite构建Git服务器的过程涵盖了从基础的SSH协议理解,到Gitolite的安装配置,再到精细的权限管理等多个方面。通过对这些环节的深入了解和实践,可以构建出既安全又高效的Git服务器环境,满足企业级...

    git服务器安装指南

    | 协议 | 服务架设难易度 | 匿名读取 | 身份认证 | 版本库写操作 | 企业级授权支持 | 是否支持远程建库 | |----------|----------------|----------|----------|--------------|----------------|------------------...

    gensim-4.1.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.zip

    gensim-4.1.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.zip

    IMG_6610.jpg

    IMG_6610.jpg

    原理图与PCB设计.iso,值得一看

    原理图与PCB设计.iso,值得一看

    基于SpringBoot的同城上门喂遛宠物系统(源码+数据库+万字文档)357

    同城上门喂遛宠物系统,系统包含两种角色:管理员、用户,系统分为前台和后台两大模块,主要功能如下。 前台: - 首页:展示系统的概览信息。 - 爱宠天地:提供爱宠人士交流、学习讨论的平台。 - 宠物:展示宠物相关的信息。 - 宠物资讯:提供宠物行业相关的新闻、资讯、科普文章等。 - 个人中心:用户可以登录后进入个人中心,管理个人信息,查看宠物预约记录、服务订单、评价等。 后台: 管理员角色: - 个人中心:管理员可以管理个人信息,修改密码等。 - 管理员管理:管理员可以对其他管理员的信息进行增删改查等操作。 - 用户管理:管理员可以对用户的信息进行增删改查等操作。 - 爱宠天地管理:管理员可以管理交流论坛的帖子、评论,审核内容等。 - 宠物管理:管理员可以管理宠物的基本信息,包括宠物种类、照片、描述等。 - 宠物预约管理:管理员可以处理用户的宠物预约请求,安排服务人员等。 - 宠物资讯管理:管理员可以管理宠物行业相关的新闻、资讯、科普文章等。 - 基础数据管理:管理员可以管理基础数据,包括宠物种类、服务类型、服务时长、价格等。 - 轮播图信息:管理员可以管理轮播图信息,包括添加、修改

    静态综合实验报告模板.docx

    静态综合实验报告模板.docx

    USB_UVC_Timing.v

    USB_UVC_Timing.v

    【最新版】 ISO 21207-2015.rar

    【最新版】 ISO 21207-2015.rar

    英语培训课程-词汇语法基础

    英语培训课程-词汇语法基础

    ai产品经理面试高频100题

    ai产品经理面试高频100题

    PW1X-PHP+XLS_1个通用条件工资成绩等通用查询系统电脑网页版版(Gb2312)_2024最终版.zip

    PW1X-PHP+XLS_1个通用条件工资成绩等通用查询系统电脑网页版版(Gb2312)_2024最终版

    基于SpringBoot的精品水果线上销售网站(源码+数据库+万字文档)337

    精品水果线上销售网站,系统包含三种角色:管理员、商家、用户,系统分为前台和后台两大模块,主要功能如下。 前台功能: 1. 首页:展示水果的推荐信息和促销活动。 2. 公告:展示网站的公告信息。 3. 招商加盟:介绍招商加盟的政策和流程。 4. 联系我们:提供联系方式和在线留言功能。 5. 网站介绍:详细介绍网站的特色和服务内容。 6. 商家:用户可以查看商家的信息和合作方式。 7. 水果:用户可以浏览水果的详细信息。 8. 个人中心:用户可以管理个人信息、订单记录、收货地址等。 9. 购物车:用户可以将感兴趣的水果添加到购物车。 后台功能: 用户: 1. 个人中心:管理个人信息。 2. 公告管理:管理公告信息,包括添加、编辑、删除公告等操作。 3. 水果管理:管理水果信息,包括添加、编辑、删除水果等操作。 管理员: 1. 个人中心:管理个人信息。 2. 基础数据管理:管理基础数据,包括水果分类、产地信息等。 3. 公告管理:管理公告信息,包括添加、编辑、删除公告等操作。 4. 水果管理:管理水果信息,包括添加、编辑、删除水果等操作。 5. 单页数据管理:管理网站单页信息,

    奔图P3305固件P3305DN固件

    解决间歇性不上纸

    google play store 安卓apk安装包

    google play store 安卓apk安装包,内置google服务 在网络情况允许的情况下,就可以直接使用 Google Play 是一个在线商店,用户可以在其中找到喜爱的应用、游戏、电影、电视节目和图书等。 它向全球数十亿用户提供 200 万款应用和游戏, 迄今为止为开发者带来了超过 1200 亿美元的收入。 我们在开发者与全球数十亿用户之间建立纽带,同时投资于平台、工具、服务和营销机会,为在全球范围内推广应用和游戏提供支持。

    云原生训练营开播:从理论到实践,涵盖容器化、服务网格与CI/CD

    内容概要:本文详尽介绍了云原生技术,不仅涵盖了基本概念和技术架构的介绍,还深入讲解了云原生的核心元素,例如容器化、服务网格、不可变基础设施与声明式API的应用。文章指出云原生是一种结合了特定技术和理念的方法论,旨在提高系统适应性、可管理性和可观测性,并加快想法到市场的进程(I2M)。同时,文中探讨了云原生的实际实施路径,强调自动化的价值,以及在现代云计算环境下持续交付的价值链。另外,文章也提到了学员在参加云原生训练营时可能面临的挑战,鼓励他们通过不断的探索与实践来深化对于这一领域的理解。除此之外,它提供了关于kube-proxy的工作机制解释,指出了最佳的学习方式即先阅读官方文档建立基础知识,再深入探究社区分享的经验,最后达到对技术的全面掌控。 适合人群:本文主要面向希望通过学习云原生及其相关技术实现自我技能提升的开发者和工程师群体;尤其是那些希望了解如何利用云平台特性来优化自身产品和服务的个人。 使用场景及目标:对于正在寻找构建、迁移至云端解决方案的人来说,本篇文章有助于他们理解如何设计云优先的软件架构;同时也能帮助企业更好地评估自身IT战略是否符合未来发展方向的要求。其终极目的是为

    最新更新!中国各省市气候风险指数(1993-2023)31个省份,共962个省级样本;227个地级市,共6950个地级市样本

    ## 介绍 气候风险指数是基于历史气候资料和未来气候预测结果,通过判断极端天气气候事件致灾阈值、结合社会经济数据及实际灾害损失分析,采用科学的方法对单一或综合气候灾害风险进行的定量化评价。 ## 一、中国各省市气候风险数据的介绍 中国各省市气候风险数据主要包括极端低温、极端高温、极端降雨及极端干旱日数的相关数据,可为研究者进行气候风险评估、应对气候变化策略的制定及区域发展提供数据支持。 数据年份:1993-2023年 数据样本:31个省份,共962个省级样本;227个地级市,共6950个地级市样本 ## 二、数据指标

    MoPaaS.智泊AI首创年薪60W+ AGI大模型进阶技术路线图V5.0.png

    关注有更多资源,私信免费的

Global site tag (gtag.js) - Google Analytics