一直绕在公钥和私钥的命名以及位置上面,搞了一整天,下面直接贴上来安装过程,方便以后回想。

先用yum安装一下必要的一些依赖包。

#yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel gcc gcc-c++ -y

然后直接

#yum install git -y

2、安装gitosis:gitosis为Git用户权限管理系统,通过管理服务端的/home/git/.ssh/authorized_key文件来执行对用户权限的管理,是一个python模块包

#yum install python python-setuptools

#git clone git://github.com/res0nat0r/gitosis.git

#cd gitosis/

#python setup.py install

显示Finished processing dependencies for gitosis==0.2即表示成功

 

3、客户端安装:(客户端ip地址:192.168.1.120)

#yum install git

4. ssh设置

客户端生产密钥

#ssh-keygen -t rsa -C “jinhui”

5. 服务器上生成git用户,使用git用户并初始化gitosis

添加用户git:

#useradd -r -s /bin/sh -c ‘git version control’ -d /home/git git

设置新密码:

#passwd git

设置权限:

#mkdir -p /home/git

#chown git:git /home/git

然后把上一步生成的公钥拷贝到/home/git/.ssh/目录底下并命名为jinhui.pub(这个根据自己生成公钥里面的最后名称进行命名,就是在这块绕挺久的)

6、在服务器端生成管理库:

# sudo -H -u git gitosis-init < /home/git/.ssh/jinhui.pub Initialized empty Git repository in /home/git//repositories/gitosis-admin.git/ Reinitialized existing Git repository in /home/git/repositories/gitosis-admin.git/ 注解: 1. 生成的gitosis-admin为Git的用户访问权限管理库,gitosis通过这个git库来管理所有git库的访问权限。 2. 通过执行初始化,该公钥的拥有者就能修改用于配置gitosis的那个特殊Git仓库了 修改上传权限: #chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update 在服务器端初始化一个空仓库 [code lang="php"] git init --bare 仓库名.git 例如 git init --bare test.git [/code] 然后地址是相对repositories的 例如,在repositories底下初始化一个test.git那么连接的时候的地址是 #git@IP:test.git(注:不用在test.git前面再加上repositories) 注解: gitosis.conf文件用来设置用户、仓库和权限的控制文件 [code lang="php"] #这个是gitosis.conf的的配置 [gitosis] [group gitosis-admin] writable = gitosis-admin members = Administrator@JI [group test]#这个是项目分组名称 writable = test#这个是项目名称 members = jinhui Administrator@JI#这个是管理项目的用户,多个用户用空格隔开 [/code] keydir目录则是保存所有具有访问权限用户公钥的地方(把用户的公钥全部导到这边来,记得公钥的名称要和gitosis.conf里面的members用户名称一致) 还有一点就是权限的问题,把整个git文件夹以及子文件夹的所有者和所有组都设置成git!

相关文章:

  • 暂无相关文章