我正在設置一個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的想法和提示 –