我有一个带有六个 Git 存储库的服务器,我可以通过一个 SSH 帐户对其进行读写访问,所有这些都在 /opt/git/ 中,所有这些都归 SSH 帐户所有。
我想给其他人一些存储库的读写访问权限,但不是全部。
- 如何创建一个只能访问少数选定存储库的新 SSH 用户?
- 我可以使用文件权限(当前为 0755)来控制这种类型的访问吗?
- 有没有最佳实践?
在很长一段时间内我们不太可能有第三个开发人员,至少在我们得到一个合适的系统管理员之前不会,所以如果它“现在足够好”就可以了。
我有一个带有六个 Git 存储库的服务器,我可以通过一个 SSH 帐户对其进行读写访问,所有这些都在 /opt/git/ 中,所有这些都归 SSH 帐户所有。
我想给其他人一些存储库的读写访问权限,但不是全部。
在很长一段时间内我们不太可能有第三个开发人员,至少在我们得到一个合适的系统管理员之前不会,所以如果它“现在足够好”就可以了。
这最好由gitolite(授权层)管理,它允许您配置以下列表:
并将您想要的用户关联到正确的存储库。
所有用户仍将使用帐户 git 通过 ssh 访问这些存储库,但使用他们自己的公共/私有 ssh 密钥(在 gitolite 配置文件中注册),使用类似于以下命令生成:
ssh-keygen -t rsa -f "${H}/.ssh/myLogin" -C "My Gitolite access (not interactive)" -q -P ""
每个用户都将设置一个%HOME%/.ssh/config
文件以引用myLogin/myLogin.pub
密钥。