我正在设置一个Apache SVN系统,该系统将使用我们公司的Active Directory来控制对存储库的访问。请注意,我不是IT人员,也不是在电视上播放。Apache SVN授权给Active Directory组
它给了我一个只读帐户,所以我可以查询服务器。这似乎工作正常,我可以在命令行上使用ldapsearch以及Apache Directory Studio进行查询。
在我们的活动目录,我们有我们的用户在类似
OU=Users,OU=DIVISION,DC=INTRANET,DC=CORP
与包含在sAMAccountName
属性(例如 - srogers
)的用户名。然后,我们有一组OU=Groups,OU=DIVISION,DC=INTRANET,DC=CORP
下的组,并且每个组都有一些具有专有名称的成员属性。
集团 - CN=SoftwareEngineering,OU=Groups,OU=DIVISION,DC=INTRANET,DC=CORP
成员:CN=SteveRogers,OU=Users,OU=DIVISION,DC=INTRANET,DC=CORP
我试图让Apache的SVN授权的软件工程组,但我不能使它发挥作用。这是我的配置文件。
<Location /svn>
DAV svn
SVNParentPath /var/www/svn
SVNListParentPath On
# Use LDAP auth against an active directory
AuthName "Enter your username and password"
AuthType Basic
AuthBasicProvider ldap
AuthLDAPBindDN "CN=readonlyuser,OU=Services,OU=DIVISION,DC=INTRANET,DC=CORP"
AuthLDAPBindPassword <password>
AuthLDAPGroupAttributeIsDN on
# ----------------- Authorizes any user
# AuthLDAPURL "ldap://divdc.intranet.corp:389/OU=DIVISION,DC=INTRANET,DC=CORP?sAMAccountName?sub?(ObjectClass=*)"
# Require valid-user
AuthLDAPURL "ldap://divdc.intranet.corp:389/OU=DIVISION,DC=INTRANET,DC=CORP?sAMAccountName"
Require ldap-group CN=SoftwareEngineering,OU=Groups,OU=DIVISION,DC=INTRANET,DC=CORP
</Location>
我尝试用LDAP搜索来模拟这一点,如果我切和conf文件粘贴URL,我得到这个...
# ldapsearch -x -D cn=readonlyuser,dc=INTRANET,dc=CORP -W -H ldap://divdc.intranet.corp:389/OU=DIVISION,DC=INTRANET,DC=CORP?sAMAccountName Could not parse LDAP URI(s)=ldap://dlsdc1.spa-elec.corp:389/OU=DLS,DC=SPA-ELEC,DC=CORP?sAMAccountName (3)
我也试图与sAMAccountName=srogers
和无sAMAccountName部分,结果相同。
关于什么神奇的咒语,使这项工作的任何想法?我已经全部结束了,似乎无法获得要求ldap-group的工作。
OS = Ubuntu的16.04
的Apache 2.4.18 =
apache日志说什么? – Fairy
[authz_core:error] [pid 5857:tid 140272191526656] [client 192.168.59.1:51651] AH01631:用户srogers:授权失败,为“/ svn /” –
请参阅http://serverfault.com/questions/437434/apache- httpd-ldap-integration的想法和提示 –