开放原子开发者工作坊 私有git服务多用户管理及权限控制

私有git服务多用户管理及权限控制

私有git服务多用户管理及权限控制一.新建用户新增git账号其实就是添加一个系统用户,将这个用户作为git账号:首先建新增用户,然后为了避免git用户登录操作系统,可以将新增用户的shell改为git-shell;这样该用户就无法登录操作系统,但是不会影响他提交和更新的操作。创建远程仓库保证用户对这个文件夹有读写权限(我这里直接将git用户的主目录指向该文件夹,这样改用户就拥有对改文件的读写权限.

私有git服务多用户管理及权限控制

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

首先建新增用户,然后为了避免git用户登录操作系统,可以将新增用户的shell改为git-shell;这样该用户就无法登录操作系统,但是不会影响他提交和更新的操作。
创建远程仓库
保证用户对这个文件夹有读写权限(我这里直接将git用户的主目录指向该文件夹,这样改用户就拥有对改文件的读写权限了)    在本地clone项目    要是能成功clone代码 那么该用户就建立成功了。

二 权限管理

1.最简单的方法
最简单的方式就是添加用户,然后设置用户对某个文件夹得读写权限就行了。这种方式是最简单的。除了创建用户,最好再创建不同的用户组,然后将不同的项目文件件归属于不同的用户组,最后通过控制账户的所属用户组来实现不同用户对于不同项目的读写权限。
这里写图片描述
通过上面用户+用户组的方式就可以管理多个用户了。
但是如果有几十个开发者,那就意味着你要新建几十个用户。就算你不厌其烦的添加了几十个用户,但是管理这几十个用户,也不是一件很方便的时。这个是时候往往可以使用下面提到的这种方法。


2.公钥登录
公钥登录的好处有:
1)免密码检验,不用每次提交或者更新都需要密码。
2)不用建立n多个用户。让多个git用户公用同一个git用户。


具体操作:
 

执行ssh-keygen -t rsa 生成秘钥后,你会看见在你的.ssh文件中看到一个私匙文件(id_rsa)和公匙文件(id_rsa.pub)


新建authorized_keys文件保存到服务器上的公钥中(多个公钥换行处理)

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


这个需要在开发者电脑生成公钥,然后上传到git服务器上,保存在authorized_keys中。
首先在客户端设置用户名和邮箱,这个不不是登录用户,可以看做是一个别称,用来跟踪代码提交记录的。

git config --global user.name "jingfeiMac"

git config --global user.email "794783766@qq.com"

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


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

看着很简单,但是如果当你实际去搭建环境的时候,往往会遇见很多问题,最好的解决方法还是看文档和搜索网上的案例。
其实上面两种方式基本上就可以满足小型团队的开发工作了。如果是大公司管理成百上千的开发人员,那么上面的方法就不行了。有兴趣的可以去了解一下Gitosis
Gitosis也是通过公钥的方式来管理权限的。


总结:
如果你只是刚刚开始接触git不久的开发者,那么掌握前面两种方式即可。    如果前面两种方式又不能很好的满足你的需求。那么可以学习一下Gitosis

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐

  • 浏览量 785
  • 收藏 0
  • 0

所有评论(0)

查看更多评论 
已为社区贡献1条内容