2016-08-17 31 views
0

私は、リポジトリへのアクセスを制御するために当社のActive Directoryを使用するApache SVNシステムの設定に取り組んでいます。私はITの人でもなく、テレビでも再生しません。Apache SVN Active Directoryグループへの承認

ITは私にサーバーを照会できるように読み取り専用のアカウントを与えました。これは正常に動作しているようだし、Apache Directory Studioと同様にldapsearchを使ってコマンドラインで問い合わせることができます。私たちのActive Directoryに

、我々は(例えば - srogerssAMAccountName属性に含まれるユーザ名と

OU=Users,OU=DIVISION,DC=INTRANET,DC=CORP

のようなものの下で我々のユーザーを持っています。 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は、ソフトウェア工学グループに許可するために取得しようとしていますが、私はそれを動作させることはできません。ここに私の設定ファイルがあります。

# 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) ...私はLDAP検索でこれをシミュレートしようと、私はカットし、confファイルからURLを貼り付けた場合、私はこれを取得

<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> 

私はまたsAMAccountName=srogersととせずに試してみましたsAMAccountName部分はまったく同じ結果を返します。

この魔法の呪文にはどのような考えがありますか?私は何度も繰り返してきたので、のldap-groupを要求することはできません

OS =のUbuntu 16.04

のApache 2.4.18 =

+0

Apacheログには何が表示されますか? – Fairy

+0

[authz_core:error] [pid 5857:tid 140272191526656] [クライアント192.168.59.1:51651] AH01631:ユーザーsrogers: "/ svn /"の認証に失敗しました –

+0

http://serverfault.com/questions/437434/apache-アイデアとヒントのためのhttpd-ldap-integration –

答えて

1

Require ldap-groupはSubversionのでは動作しません。レイジー・バッジのリンクには詳細があります。

Require ldap-groupを削除して、有効なユーザーの行をコメント解除し、適切なLDAPフィルターを追加するためにAuthLDAPURLを修正して、インストールで修正しました。

構成は次のようになります。

<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 
    AuthLDAPURL "ldap://divdc.intranet.corp:389/OU=DIVISION,DC=INTRANET,DC=CORP?sAMAccountName?sub?(&(ObjectClass=*)(memberOf=CN=SoftwareEngineering,OU=Groups,OU=DIVISION,DC=INTRANET,DC=CORP))" 
    Require valid-user 
</Location> 

フィルタグループ内のこのユーザーは接続でき、フィルタグループに属していないユーザーは拒否されます。

誰かにLDAPを介して別の質問で読み取り専用権限を与える方法を尋ねます。

関連する問題