Git配置(三)使用gitolite控制权限

1、切换git用户

su - git

2、获取gitolite,不能到github下载tar或zip包解压,缺少.git目录,安装时获取不到版本

git clone https://github.com/sitaramc/gitolite

可能会现如下错误
Unable to find remote helper for ‘https‘
需要再环境变量中增加/usr/libexec/git-core配置
切换root用户

vim /etc/profile

修改最后一行

export PATH="/usr/local/git/bin:/usr/libexec/git-core:$PATH"

执行source命令

source /etc/profile

切换回git用户

还可能会出现如下错误

需要更新以下库

yum update -y nss curl libcurl

3、安装gitolite

mkdir $HOME/bin
gitolite/install -to $HOME/bin
cd bin/

可以按照以下内容

4、配置管理员

ssh-keygen -t rsa

一路回车

5、修改公钥名称(这里起名为admin,后续再gitolite中配权限对admin进行配就行了,代表本机)

cd $HOME
mv .ssh/id_rsa.pub admin.pub
$HOME/bin/gitolite setup -pk admin.pub


6、生成管理员仓库(后续对权限、项目的配置就在这个仓库配置,配置后push即可)

git clone [email protected]:gitolite-admin
cd gitolite-admin


7、配置gitolite-admin

vim gitolite-admin/conf/gitolite.conf

新建一个project项目
定义两个用户组: admin 和 user
用户admin 对 有(读 写 删除)RW+ 权限
user组对project 有 (读 写)RW 权限

8、提交修改

git add .
git commit -am "add project"

可能会出现下面错误,需要设置一下email和name

git config --global user.email "[email protected]"
git config --global user.name "xxxx"

再次提交

git commit -am "add project"
git push origin master


提交完后,可以看到多了project目录

9、客户端访问
在客户机要下载的目录右键打开Git Bash,输入

ssh-keygen -t rsa

一路回车,在用户目录下的.ssh会生成id_rsa.pub公钥,上传公钥至gitolite-admin的keydir目录下,修改id_rsa.pub为test(根据实际情况修改)

mv id_rsa.pub test

修改gitolite.conf文件增加test用户对project项目的访问权限

vim gitolite-admin/conf/gitolite.conf


提交到版本库

git add .
git commit -am "add auth to test for project"
git push origin master

在windown的Git Bash输入以下命令,下载project项目

git clone [email protected]:/project.git

原文地址:http://blog.51cto.com/ligeo5210/2090658

时间: 2024-11-25 14:29:43

Git配置(三)使用gitolite控制权限的相关文章

<实训|第九天>掌握linux中普通的权限控制和三种特殊的权限(sst),做合格的运维工程师

linux中,权限的学习是必不可少的,不论是作为一名运维工程师或者是单一的管理者,学习好linux中的权限控制,你就可以保护好自己的隐私同时规划好你所管理的一切. 权限的学习是很多的,不要认为自己已经把自己的隐私保护的很好,漏洞总是有的,侧面的攻击往往是难以防守的.所以大家跟我一起学习一下基础的权限控制,在后面也会有更多关于权限控制的知识点分享出来.谢谢各位的关注和支持!  开班第九天: 今天的课程大纲: linux系统中文件目录的基本权限控制 如何来修改默认的生成权限 三种特殊的权限(s,s,

ProFTPD配置匿名登录与目录访问权限控制

对ProFTPD服务器配置匿名登录. 查看配置文件proftpd.conf.默认情况下配置文件中的,匿名登录配置User和Group均为ftp.查看/etc/passwd确认用户ftp,是否存在.命令行输入id ftp,查看用户ftp的所在组.查看/etc/group,确定用户组ftp是否存在. 上述步骤中,如果缺少用户或组,新建即可. User    ftp Group ftp UserAlias   anonymous ftp   #设置匿名用户以ftp身份登录 --------------

SharePoint 2010 系统账户没完全控制权限了

网上下载了一个试用版的wsp包,安装部署后感觉不好就卸载掉了.坑爹的事情发生了,系统账户登录网站集竟然没完全控制权限了.连添加列表项的权限都没有了. 去管理中心查看,网站集管理员,没发现问题. 更坑爹的是在管理中心,系统账户权限一切正常.google一圈才发现,网站集莫名其妙的改为只读状态了. 管理中心-----应用程序管理----配置配额和锁定 解决办法:选'未锁定',然后确定即可. SharePoint 2010 系统账户没完全控制权限了,布布扣,bubuko.com

Laravel5.1 将控制权限存储到数据库

上一篇文章记录了如何使用policy,一般要做一个完整的网站我们需要把一系列的管理权限存储到数据库中,这样就可以更加灵活的使用用户控制权限,首先我们来创建两个模型 permission(权限)和role(角色): php artisan make:model Permission php artisan make:model Role 逻辑关系 上面我们创建了权限和角色模型,现在我们来生成对应的数据表,但是要先想清楚它们之间的关系,一个权限可以被很多个用户使用,一个用户又可以有很多的权限,很明显

MYSQL + MHA +keepalive + VIP安装配置(三)--keepalived安装配置

一.概述 keepalived介绍:Keepalived的作用是检测web服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的web 服务器从系统中剔除,当web服务器工作正常后Keepalived自动将web服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人 工做的只是修复故障的web服务器. 二.环境 ? 1 2 3 vip:192.168.1.203\204 mysql-master:192.168.1.231 mysql-

快速入门git第三步

安装:一.在linux ubuntu 上安装git sudo apt-get install git配置:二.初次运行git的配置,为什么是初次,因为更新或升级都会沿用老的git的配置, 可以用相同的命令进行了配置的修改, git 提供了一个工具git config ,专门用来配置或读取相应的环境变量,不同的环境变量导致了git在各个环节的具体工作方式和行为,环境变量存放在三个地方:/ect/config: 系统中对所有的用户都普遍使用的配置-/config: 只是适用与当前用户的配置.git/

Spring Security控制权限

Spring Security控制权限 1,配置过滤器 为了在项目中使用Spring Security控制权限,首先要在web.xml中配置过滤器,这样我们就可以控制对这个项目的每个请求了. <filter>    <filter-name>springSecurityFilterChain</filter-name>    <filter-class>org.springframework.web.filter.DelegatingFilterProxy&

Android开发之Git配置

1.首先git配置: 输入命令: git config --global user.name "xxx.xx" git config --global user.email "[email protected]" git config --global commit.template "/home/xxx/commit.template" 名字改成自己的. 可以通过git config --global --list查看命令是否配置: user.

Git配置和常用命令

Git配置 git config --global user.name "hunng" git config --global user.email "[email protected]" git config --global color.ui true git config --global alias.co checkout git config --global alias.ci commit git config --global alias.st sta