- 发布于
在centOS部署自己的代码库
- Authors
- Name
- 田中原
在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的位置
which git-shell
得到的位置:/usr/bin/git-shell
- 将git-shell添加到shell当中 1)vim /etc/shells 2)/usr/bin/git-shell 将这写到 /etc/shells的最后一行
- 更改git用户使用的shell
chsh git
到此位置git的用户权限已全部设置完成