我将首先从设置开始。为此,我们有2台服务器
Server1将用于所有源代码,文件等。
在Server2上,我们拥有所有用户信息和登录名。
两台服务器都在Centos 6.4上运行
现在,我们要在使用apache(httpd)的server1上设置SVN存储库,并具有使用来自服务器2的帐户的LDAP身份验证。
以前,我设置了CVS回购协议,所以我100%确信ldap在工作。
我的SVN存储库正在使用apache正常运行,但是我似乎无法正确设置ldap身份验证。
我一直在找几天,我不知道该怎么办了。
我的/etc/httpd/conf.d/subversion.conf
如下所示
<Location /svn>
DAV svn
SVNPath /var/www/svn/testProject
AuthType Basic
AuthName "My repo"
AuthzLDAPAuthoritative on
AuthLDAPURL "ldap://192.168.1.2:389/cn=users,dc=server2,dc=intranet,dc=myCompany,dc=com?sAMAccountName?sub?(objectClass=*)" NONE
AuthUserFile /var/www/svn-auth-conf
Require valid-user
#AuthzSVNAccessFile /var/www/svn-acces-control
我在server1上的
/etc/openldap/ldap.conf
看起来像这样REFERRALS off
TLS_CACERTDIR /etc/openldap/cacerts
URI ldap://macserver.intranet.zappware.com
BASE cn=users,dc=server2,dc=intranet,dc=myCompany,dc=com
在server1上,我具有root用户访问权限,因此我可以正确设置它。
当我使用用户帐户访问Server2时,我可以像这样进行ldapsearch
userM$ ldapsearch -x -b cn=users,dc=server2,dc=intranet,dc=myCompany,dc=com
我在该服务器上获得了所有用户帐户
但是当我尝试
ldapsearch -x -b cn=users,dc=server2,dc=intranet,dc=myCompany,dc=com -W sAMAccount
Server2要求我提供LDAP密码。但是我没有密码,我们以前负责所有服务器工作的IT经理已经离开了公司。
所以我以为我可以再输入一个密码并输入
/etc/openldap/slapd.conf
但是当我在服务器2上检查该文件时,它只是空的
希望有人可以给我一些新的有用的技巧来解决这个问题
最佳答案
好,我解决了
更改了我的LDAPURL,因为不需要绑定它。
<Location /svn>
DAV svn
SVNPath /var/www/svn/testProject
AuthBasicProvider ldap
AuthType Basic
AuthName "My repo"
AuthzLDAPAuthoritative off
AuthLDAPURL "ldap://192.168.1.2:389/cn=users,dc=server2,dc=intranet,dc=myCompany,dc=com" NONE
Require valid-user
</Location>
我忘了声明AuthBasicProvider ldap
希望这对其他人有用
关于apache - 带有LDAP身份验证的SVN无法正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16016735/