在我的VPS上设置远程存储库出乎意料地容易。我想给一些人读取访问权限,其他一些人对一个或多个存储库进行读写访问。它们都应该通过 git 用户连接,就像在GitHub或BitBucket上一样。
如何指定访问权限,不是绑定到系统的用户,而是绑定到他们使用的SSH密钥?例如,每个人都可以从GitHub上的公共存储库中读取,但不一定要写。虽然他们都会通过git clone git@github.com:YourName/repo_name.git
克隆它。因此无法通过Unix用户/组/世界权限进行管理。
此外,还禁用了SSH shell访问。
$ ssh git@github.com
Hi YourName! You've successfully authenticated, but GitHub does not provide shell access.
如何在我的VPS上重现这种“行为”?
答案 0 :(得分:1)
您可以使用和authorization layer重现(甚至更高程度的控制) gitolite 。
这是一个使用ssh和ssh密钥的perl脚本,允许您定义组(人员和repos),并将访问控制级别与这些组放在一起。
请参阅" How do programs like gitolite work?"。