我目前正在尝试设置一个GIT存储库服务器,这样我们就可以从SVN切换到GIT。我几乎把一切都搞定了,但剩下的是一个问题。
当前设置如下:
这是完美的工作到目前为止,并消除了赤霉病或海泡石的需要。
因为我想要一个可浏览的概述,我已经建立了gitweb,包括pathinfo。由于repos是私有的,所以我已经通过Perl AuthenNIS设置了身份验证,这是可行的,但是这里遇到了一个问题。
不希望所有的开发人员都能访问所有的存储库,但是gitweb只显示了它( apache用户)可以读取的所有存储库。
所以我的问题是:是否可以使gitweb只显示gitweb当前登录的用户可以访问?
可能的解决办法
$export_auth_hook与$cgi->remote_user相结合似乎很有希望,但我对perl的理解过于有限,无法使用它(钩子需要验证用户在显示/导出它之前是否拥有访问回购目录的权限)。是否有人知道如何使3或4工作或有其他解决方案?
发布于 2011-09-04 05:01:29
如果开发人员使用ssh在他们自己的用户名下推举/提取存储库服务器,那么完成这一任务的最简单方法可能是找到一种在该用户身份下运行gitweb或git的方法。
例如,在执行gitweb之前找到一种添加身份验证钩子的方法。然后在gitweb周围添加一个包装器,该包装器执行sudo -u $user gitweb.real,其中$user是经过身份验证的用户名。
或者,只需包装git命令,即让gitweb执行一个执行sudo -u $user {real-git-path}的包装器。
要在Apache中实现对NIS/PAM的身份验证,请看一看外部
https://stackoverflow.com/questions/7294059
复制相似问题