昨天老大分配工作,要在Linux系统上搭建Git服务器。知识不够,百度、博客来凑,折腾了一天,终于搞定了。写篇博客,记录下来,炫耀一下也给日后工作留点方便。
- 安装git,使用yum源在线安装
yum install -y git
- 初始化git仓库,在/home/data/git/路径下初始化一个空的仓库gittest
git init --bare /home/data/git/gittest.git
到这里Git服务器就搭好了,而且有一个空的git仓库。下面的工作就是添加用户,因为看到各位大牛添加用户都是通过密钥实现的,这样可以免密使用,而我自己感觉生成密钥这个过程可能对开发人员来说是一件麻烦事(虽然只有一句命令),而且开发人员较少,所以决定添加用户名密码,服务器端管理员直接管理即可。不说废话了,接着往下看。
- 创建用户组gitgroup
groupadd gitgroup
- 创建用户qixiao
useradd qixiao
- 为用户设置密码
passwd qixiao
禁用git用户的shell登录,防止用户通过Git用户登录服务器。编辑/etc/路径下的passwd文件,将文件后边的bash改成git-shell,即
将
qixiao:x:1003:1003::/home/qixiao:/bin/bash
改成
qixiao:x:1003:1003::/home/qixiao:/bin/git-shell
- 将用户qixiao添加到用户组gitgroup
usermod -G gitgroup qixiao
- 修改git仓库所在目录/home/data/git/的用户组为gitgroup
chgrp -R gitgroup /home/data/git/
写到这里,用户组对/home/data/git/路径只有读的权限,没有写的权限。上边的配置都没有什么问题,就这个权限折腾了一天,用户组默认的权限是没有写权限的,配置好不能上传代码,问题就在用户组的权限。
- 修改目录及其子文件的权限
chmod -R 777 /home/data/git/
写这篇博客仅仅是Linux系统搭建Git服务器的一点心得,和大家分享,有什么错误和改进的地方,望指正。