关于git的仓库创建及用户配置等一系列的功能很早已经有过经验。
最近需要配置一个多人协作(多个git用户)的一个git环境。
发现了一些问题。
是这样,之前我在我服务器上创建的git仓库,不存在多人协作的一个问题。就我自己,所以将git仓库的所有者配成我使用的git用户之后,根本不存在权限的问题。
但是多人协作的时候,其他人要从你的权限所属的目录修改文件的时候,显然他是没有这个权限的。当然,你可以非常粗暴的将git仓库目录的权限改成777,但是,这个是很不合理的,而且这个玩意治标不治本,只对你之前存在的目录好用,当你上传新文件,新生成的目录的权限仍然是755,那么这个权限的配置可能就是有问题的。
解决方式,其实很简单的。
1:我们新添加两个用户并设置密码,命令如下:
复制代码
adduser yonghu1 adduser yonghu2
2:查看所有用户命令:三选一,都行
bash
复制代码
compgen -u getent passwd cat /etc/passwd
3:添加用户组git,命令如下:
复制代码
Groupadd git
4:查看所有用户组命令
bash
复制代码
Cat /etc/group
5:将刚刚创建的两个用户,添加至刚刚创建的git组中。
css
复制代码
usermod [-G] [GroupName1,GroupName2] [UserName] usermod –G git yonghu1 usermod –G git yonghu2
6:创建一个git仓库,这里是重点,将权限改成所有者改成yonghu1,拥有组自然就是git
vbnet
复制代码
git init --bare –shared=group --bare:裸仓库 --shared:分享选项 --shared[=(false|true|umask|group|all|world|everybody|0xxx)]
share 指定为true 时:可以通过配置“core.sharedRepository”来改变$GIT_DIR中目录和文件的访问权限
默认的share权限根据umask生成
修改目录权限
复制代码
Chown –R yonghu1:git /你的仓库地址
7:禁止git用户通过ssh登录
请移步《禁止git用户ssh登录的两种方法》这里有详细的介绍,本文中不再赘述。
以上大概就是全部内容,有好的建议,请在下方输入你的评论。
欢迎访问个人博客 guanchao.site
欢迎访问我的小程序:打开微信->发现->小程序->搜索“时间里的”