perl – 仅显示用户可以使用gitweb访问的GIT repo
我目前正在尝试设置GIT存储库服务器,以便我们可以从SVN切换到GIT.我几乎覆盖了所有东西,但我留下了一个问题.
目前的设置如下: >所有开发人员(和非开发人员)都有一个用户帐户&正确的组,因为服务器是NIS客户端 到目前为止,这完美地起作用,并且消除了对gitosis或gitolite的需要. 因为我希望对存储库有一个可浏览的概述,所以我设置了gitweb,包括pathinfo.因为repos是私有的,我通过Perl AuthenNIS设置了身份验证,这样可行,但是在这里我遇到了一个问题. 不希望所有开发人员都可以访问所有存储库,但是gitweb只显示它(apache用户)可以读取的每个存储库. 所以我的问题是:是否有可能让gitweb只显示当前登录用户有权访问的GIT repo? 可能的解决方案: >通过.htaccess进一步控制访问权限. pathinfo会启用此功能但不会阻止通过非pathinfo URL访问repo(例如/repo.git/不起作用,但/gitweb.cgi?p=repo.git会) 有谁知道如何做3或4个工作或有另一个解决方案? 解决方法
如果开发人员使用ssh(我推测)他们自己的用户名从存储库服务器推送/拉出,那么也许最简单的方法就是找到一种方法来在该用户的身份下运行gitweb或git.
例如,找到一种在执行gitweb之前添加身份验证挂钩的方法.然后在执行sudo -u $user gitweb.real的gitweb周围添加一个包装器,其中$user是经过身份验证的用户名. 或者,你可以只包装git命令,即让gitweb执行一个包装器来执行sudo -u $user {real-git-path}. 要在Apache中实现针对NIS / PAM的身份验证,请查看mod_auth_external (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |