Git centos 6.5 搭建(gitosis)

  首先理解下什么是 git github gitlab gitosis gitolite,当时让我搭建git 蒙了好长时间最后才明白.

  

(1)yum install git-core
(2)yum install openssh-server
 (3) yum install openssh-client

然后输入git 出现git关语法就说明安装成功了

git 项目权限的管理

SSH 连接
如果已经有了一个所有开发成员都可以用 SSH 访问的服务器,架设第一个服务器将变得异常简单,几乎什么都不用做(正如上节中介绍的那样)。如果需要对仓库进行更复杂的访问控制,只要使用服务器操作系统的本地文件访问许可机制就行了。

如果需要团队里的每个人都对仓库有写权限,又不能给每个人在服务器上建立账户,那么提供 SSH 连接就是唯一的选择了。我们假设用来共享仓库的服务器已经安装了 SSH 服务,而且你通过它访问服务器。

有好几个办法可以让团队的每个人都有访问权。第一个办法是给每个人建立一个账户,直截了当但略过繁琐。反复运行 adduser 并给所有人设定临时密码可不是好玩的。

第二个办法是在主机上建立一个 git 账户,让每个需要写权限的人发送一个 SSH 公钥,然后将其加入 git 账户的 ~/.ssh/authorized_keys 文件。这样一来,所有人都将通过 git 账户访问主机。这丝毫不会影响提交的数据 — 访问主机用的身份不会影响提交对象的提交者信息。

另一个办法是让 SSH 服务器通过某个 LDAP 服务,或者其他已经设定好的集中授权机制,来进行授权。只要每个人都能获得主机的 shell 访问权,任何可用的 SSH 授权机制都能达到相同效果。

我这里用的第二种方式   添加一个git用户

useradd -m git
passwd git  #这里设置git 的密码也为 git

然后去修改 /etc/ssh/sshd_config 文件,找到  AuthorizedKeysFile .ssh/authorized_keys  把#去掉

然后重启/etc/init.d/sshd restart

su git
ls -ld .ssh  #如果没有的话  mkdir .ssh;chmod 700 .ssh
权限必须是700 且属于本人账号与组才可以(git)

cd /home/git/.ssh/
  创建一个文件.
    vi authorized_keys
      cat 你上传的公钥 >> .ssh/authorized_keys
        chmod 644 .ssh/authorized_keys
          ls -l .ssh

 

这样你在你的win 电脑上访问git仓库就不用输入密码了

_________________________________________________________________________________________________________________________

gitosis搭建

  

su root

  cd /home/

  git clone git://eagain.net/gitosis.git

    cd gitosis 
        
    sudo python setup.py install
       
    sudo -H -u git gitosis-init < /home/git/id_rsa.pub #这里是你传的公钥地址#
sudo chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update

 现在你查看一下 /home/git/.ssh/authorized_keys  就有你添加的公钥了  然后在本地 git clone git@xxx.xxx.xxx.xxx:/home/git/repositories/gitosis-admin.git

 是不是不用输入密码了。哈哈...

 

posted @ 2015-02-07 13:09  wxqi528  阅读(312)  评论(0编辑  收藏  举报