发布于

在centOS部署自己的代码库

Authors
  • avatar
    Name
    田中原
    Twitter

在centOS部署自己的代码库

目录

参照网上的一些教程,总结一份较好的方案

安装git

yum install -y git

添加用户/用户组

创建一个git用户组,和git用户 因为考虑到可能会和多人共用git代码库,所以建立一个专门的分享系统用户给开发者们。

sudo groupadd git
sudo adduser git -g git
sudo passwd git

vim /etc/passwd

git:x:1001:1001:,,,:/home/git:/bin/bash 修改为 git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell 让git用户只能使用git-shell进行git相关的操作

ssh登录

在参考网上的一些

开启服务器RSA验证

vim /etc/ssh/sshd_config

找到并去掉前面的#号

RSAAuthentication yes
PubkeyAuthentication yes
RSAAuthentication yes
RSAAuthentication #设置是否允许只有RSA安全验证。
PasswordAuthentication
PasswordAuthentication yes #PasswordAuthentication”设置是否允许口令验证。
AuthorizedKeysFile  .ssh/authorized_keys

配置RSA公钥

如果使用的是非root用户需要切换到git用户,才有权限对/home/git下的文件进行操作

  su - git #切换用户

创建authorized_keys文件,用于配置开发者的公钥

cd /home/git/
mkdir .ssh
chmod 700 .ssh
touch .ssh/authorized_keys
chmod 600 .ssh/authorized_keys

客户端生成公钥

ssh-keygen -t rsa -C "[email protected]" -f ~/.ssh/my-rsa #生成公钥,并指定文件名
cat ~/.ssh/my-rsa.pub  # 复制里面的内容,粘贴到服务器的authorized_keys中去

验证

创建git中央仓库 1.进入git用户主目录

cd /home/git 2.创建一个裸仓库 (一般以.git结尾)

git init –bare test.git

以test.git为例子,当然你可以叫任意名字 裸仓库是没有工作区的,纯粹为了共享

3.修改仓库用户属主

chown -R git:git test.git

git clone [email protected]:test.git

查看git-shell的位置

  1. which git-shell 得到的位置:/usr/bin/git-shell
  2. 将git-shell添加到shell当中 1)vim /etc/shells 2)/usr/bin/git-shell 将这写到 /etc/shells的最后一行
  3. 更改git用户使用的shell chsh git

到此位置git的用户权限已全部设置完成