git只在某些用户中显示gitweb中的存储库

时间:2012-11-26 17:16:34

标签: git gitweb

我正在尝试实现一个只有一个开发人员的git服务器,所以唯一一个具有完全访问权限的人。我已经没有问题了。该用户正在使用ssh访问。

我想分享对项目的只读访问权限,其中某些GUI(gitweb,gitlist,gitalist ...)在apache上运行,可以显示我选择给特定用户的回购,也许还有一些完全公开。类似的东西:

  • Repo x - user1和user3的读取权限
  • 回复 - user1和user2的读取权限
  • Repo z - 所有用户的读取权限。

我无法找出做这样的事情的正确解决办法。

我可以找到有关如何进行身份验证的文档,以便仅向经过身份验证的用户显示存储库,但不会对存储库进行细粒度控制,以便向每个经过身份验证的用户显示只有一个存储库,其中一个GUI运行在apache上。

我已经使用webmin git模块尝试使用dav gitweb,但所有存储库都显示在gitweb中,无论我通过身份验证的用户是否只能访问某些存储库而不是所有存储库。

网络服务器正在运行带有用户git的suexec,并且具有对存储库的完全读取权限。

应该如何实施这样的事情?也许有些钩?

此外,我只对那些允许用户下载项目的打包tar.gz的选项感兴趣。不计划允许用户与项目协作。也许解决方案不是这个。如果是更好的解决方案,那么trac系统也可能很有趣,以便能够收到有关项目的反馈。

1 个答案:

答案 0 :(得分:3)

正确的解决方案是添加authorization layer之类的gitolite

例如,

我的httpd.conf文件声明了一个:

例如:

ScriptAlias /hgit/ @H@/gitolite/bin/gitolite-shell/
SetEnv GIT_HTTP_BACKEND "@H@/usr/local/apps/git/libexec/git-core/git-http-backend"