LDAP グループを使用してユーザーを認証するように svnserve デーモンを構成する必要があります。私のsvnリポジトリはすべてCentOSボックスにあります。次の手順を実行しました。
1- ライブラリをインストールします。
yum install subversion cyrus-sasl cyrus-sasl-ldap cyrus-sasl-plain db4-utils
2- 各リポジトリ内の svnserve.conf を編集して sasl を使用し、レルム名をこのリポジトリにアクセスできる LDAP グループとして設定します。
# Disable anonymous access to the repo anon-access = none # Let’s make sure that you are authenticated if you want to write in the repo itself auth-access = write realm = a_goup_dn # Tell Subversion to use SASL for the authentication mechanism use-sasl = true # Make sure that there is no encryption for the authentication mechanism min-encryption = 0
3- ファイル /etc/sasl2/svn.conf を編集して、svnserve sasl 通信を構成します。
################################################################### # For CentOS /etc/sasl2/svn.conf # For other distro you may need to put the file here : /usr/lib/sasl2/svn.conf # For other distro the file may also be named subversion.conf instead of svn.conf # Symbolic link may be your friend here to figure out where does this file #need to be and it’s name. # # Password method, use the sasl authentication deamon. pwcheck_method: saslauthd # ## Auxiliary plugin, use ldap auxprop_plugin: ldap # ## Mechanism list, plain text only mech_list: PLAIN ldapdb_mech: PLAIN # EOF #########################################################
4- ファイル /etc/saslauthd.conf を編集して、sasl LDAP 通信を構成します。ここで最も重要なことは、ldap_group_dn フィールドで %r 置換を使用して、ユーザーが各 svnserve.conf ファイルで定義された正しい LDAP グループに関連付けられるようにすることです。
##/etc/saslauthd.conf # # Your AD server adress #ldap_servers: ldap://192.168.123.68:10389 ldap_servers: ldap://192.168.123.122 # # I love default domain name, I just want to put the username part for #my authentication #not the whole user@domain.local #ldap_default_domain: intech.com # # Where are the users located in the AD? If you haven’t change the default tree of your AD it should be under the Users OU. ldap_search_base: dc=sample,dc=com # # You need a user account to be able to make the authentication in the Active Directory, I suggest you create a user just for that! ldap_bind_dn: cn=manager,dc=sample,dc=com # # Of course there is a password associated with this user, put it here : ldap_bind_pw: ldapuser123 # # Misc options for LDAP to make it work with Microsoft AD. Nothing to change here, move along… ldap_deref: never ldap_restart: yes ldap_scope: sub ldap_use_sasl: no ldap_start_tls: no ldap_version: 3 ldap_auth_method: bind ldap_filter: sAMAccountName=%u ldap_password_attr: userPassword ldap_timeout: 10 ldap_cache_ttl: 30 ldap_cache_mem: 32768 ldap_group_dn: %r dap_group_match_method: filter ldap_group_filter: (uniqueMember=%D) ldap_group_attr: uniqueMember #EOF #########################################################
これは機能しているように見えますが、レルム名属性を使用してldapグループを通信することに悪影響があるのではないかと思います。
前もって感謝します