[英]How do I restrict Apache/GIT access to specific users (ldap/file-based authentication)?
我正在使用ldap / file auth运行SVN存储库服务器。 这使我可以筛选哪些用户将访问服务器中的每个存储库。
现在,我计划迁移到GIT,并且已经通过Apache / LDAP运行GIT,但是我无法像在SVN上一样设法过滤用户。
有没有办法做到这一点?
谢谢
如果要调用后面的智能http机制 ,则可以复制相同的身份验证机制(LDAP auth,在httpd.conf中声明),如“ 使用Apache Smart HTTP / S和LDAP设置GIT ”中所述。
请注意,这与授权部分不同,如Gitolite:授权与身份验证中所述 ,并在“ 使用LDAP作为身份验证方法来管理git存储库 ”中进行了说明。
我更喜欢使用LDAP别名来多次引用该身份验证服务器:
<AuthnProviderAlias ldap myldap>
AuthLDAPBindDN cn=Manager,dc=example,dc=com
AuthLDAPBindPassword secret
AuthLDAPURL ldap://localhost:9011/dc=example,dc=com?uid?sub?(objectClass=*)
</AuthnProviderAlias>
这是使用LDAP的配置示例(使用SSL):
<VirtualHost itsvcprdgit.world.company:8453>
ServerName itsvcprdgit.world.company
ServerAlias itsvcprdgit
SSLCertificateFile "/home/auser/compileEverything/apache/itsvcprdgit.world.company.crt"
SSLCertificateKeyFile "/home/auser/compileEverything/apache/itsvcprdgit.world.company.key"
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SetEnv GIT_PROJECT_ROOT /home/auser/compileEverything/repositories
SetEnv GIT_HTTP_EXPORT_ALL
ScriptAlias /mygit/ /path/to/git-http-backend/
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Location /mygit>
SSLOptions +StdEnvVars
Options ExecCGI +FollowSymLinks +SymLinksIfOwnerMatch
#AllowOverride All
order allow,deny
Allow from all
AuthName "LDAP authentication for ITSVC Smart HTTP Git repositories"
AuthType Basic
AuthBasicProvider myldap
AuthzLDAPAuthoritative On
Require valid-user
AddHandler cgi-script cgi
</Location>
BrowserMatch ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
CustomLog "/home/auser/compileEverything/apache/githttp_ssl_request_log" \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
ErrorLog "/home/auser/compileEverything/apache/githttp_error_log"
TransferLog "/home
</VirtualHost>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.