如何在Gitolite中使用智能HTTP访问的存储库获得细粒度的ACL



如何使用gitolite中的智能HTTP获得细粒度的ACL?

这是什么意思是:如果我使用SSH限制了某些用户的某些用户,并且如果我尝试克隆限制的存储库,Gitolite表示:

Fatal R any (some_username) is denied. 
Please make sure the repository exists". 

如何通过使用智能HTTP来实现上述ACL?
如果可能

gitolite 与智能HTTP兼容,如我在2012年或这里提到的。

您需要做的就是设置这4行:

SetEnv GIT_PROJECT_ROOT @H@/repositories
SetEnv GIT_HTTP_EXPORT_ALL
SetEnv GITOLITE_HTTP_HOME @H@
ScriptAlias /hgit/ /path/to/gitolite/sbin/gitolite-shell/
SetEnv GIT_HTTP_BACKEND "/path/to/git/libexec/git-core/git-http-backend"

这样,以 /hgit 开始的路径的任何URL都会首先查询Gitolite(通过其src/gitolite-shell Perl脚本(

git clone http://myserver/hgit/myrepo.git

您需要将其与一种通过身份验证基本提供商之一(文件,LDAP,DBM,...(进行身份验证的方法
在我的httpd.conf中,我使用ldap。

    AuthName "LDAP authentication for ITSVC Smart HTTP Git repositories"
    AuthType Basic
    AuthBasicProvider ldap
    AuthLDAPBindDN "@LDAP_BINDDN@"
    AuthLDAPBindPassword @LDAP_PASSWORD@
    AuthLDAPURL @LDAP_URL@
    AuthLDAPGroupAttribute member

您将用其实际值替换占位符字符串@xxx@

最新更新