您的位置:首页 > 其它

git多用户管理及权限控制

2017-10-10 17:10 393 查看
用过svn的朋友都知道,每个开发者都需要一个svn账号,通过这个查看项目的提交记录,可以更加清楚项目的开发情况,便于版本控制。git也是如此。所以我们说其实git在很多方面和svn是很相识的。

提到用户,那么用户的管理和权限控制就是避不开的话题了。

一.新建用户

新增git账号其实就是添加一个系统用户,将这个用户作为git账号:



首先建新增用户,然后为了避免git用户登录操作系统,可以将新增用户的shell改为git-shell;这样该用户就无法登录操作系统,但是不会影响他提交和更新的操作。

创建远程仓库



保证用户对这个文件夹有读写权限(我这里直接将git用户的主目录指向该文件夹,这样改用户就拥有对改文件的读写权限了)

usermod -d /gitResp git


在本地clone项目



要是能成功clone代码 那么该用户就建立成功了。

二 权限管理

1.最简单的方法

最简单的方式就是添加用户,然后设置用户对某个文件夹得读写权限就行了。这种方式是最简单的。除了创建用户,最好再创建不同的用户组,然后江将不同的项目文件件归属于不同的用户组,最后通过控制账户的所属用户组来实现不同用户对于不同项目的读写权限。



通过上面用户+用户组的方式就可以管理多个用户了。

但是如果有几十个开发者,那就意味着你要新建几十个用户。就算你不厌其烦的添加了几十个用户,但是管理这几十个用户,也不是一件很方便的时。这个是时候往往可以使用下面提到的这种方法。

2.公钥登录

公钥登录的好处有:

1)免密码检验,不用每次提交或者更新都需要密码。

2)不用建立n多个用户。让多个git用户公用同一个git用户。

具体操作:

首先在共用的用户主目录下建立.ssh文件夹

mkdir .ssh


进入.ssh

cd .ssh


执行ssh-keygen -t rsa生成秘钥对

ssh-keygen -t rsa


新建authorized_keys文件保存公钥(多个公钥换行处理)

touch authorized_keys


将前面生成的id_rsa.pub复制到authorized_keys



这个需要在开发者电脑生成公钥,然后上传到git服务器上,保存在authorized_keys中。

首先在客户端设置用户名和邮箱,这个不不是登录用户,可以看做是一个别称,用来跟踪代码提交记录的。

git config --global user.name "yangyangwang"

git config --global user.email wang839305939@outlook.com


然后在客户端运行ssh-keygen -t rsa生存秘钥对,然后到相对应的地方将公钥id_rsa.pub上传到服务器中git1主目录的authorized_keys文件中去

ssh-keygen -t rsa


然后通过上面公用的用户名就可以从服务器clone项目了。

看看是不是很简单,但是当你实际去搭建环境的时候往往会遇见很多问题,尤其是接触linux不久的小伙伴。具体的坑你们自己去踩吧。反正步骤就是上面这样的。

其实上面两种方式基本上就可以满足小型团队的开发工作了。如果是大公司管理成百上千的开发人员,那么上面的方法就不行了。有兴趣的可以去了解一下Gitosis

Gitosis也是通过公钥的方式来管理权限的。

总结:

如果你只是刚刚开始接触git不久的开发者,那么掌握前面两种方式就好了。毕竟git只是一个版本管理工具,是为我们服务的。不要弄得太复杂,不要把无限的精力放在权限控制上去。

如果你已经对git有比较好的了解了,而前面两种方式又不能很好的满足你的需求。那么你可以学习一下Gitosis

还是那句话,我的文章一般通假字比较多,请见谅!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  git 版本控制 svn