オンラインで見つけたすべてのガイドに従って、svnserve + SASL + OpenLDAP の構成を機能させました。すべてが約 1 日間機能し、svn + ssh で少し遊んだ後、何らかの形で何かを壊したに違いありません。再び機能するようにします。
/srv/svn/repo/conf/authz ファイルに、次のような Active Directory グループをリストしました。
Admins = User One, User Two
Engineers = Other User, Someone Else
以前は機能していたこれらのグループの各ユーザーの CN を使用していますが、SVN クライアントを認証させる唯一の方法は、authz ファイルでこれらのグループの CN の代わりにユーザー名を指定することです。
これが私の構成です(Gentooシステムでは、セキュリティのためにドメイン名とパスワードを編集しました):
/etc/conf.d/saslauthd:
SASLAUTHD_OPTS="${SASLAUTHD_OPTS} -a ldap"
/etc/saslauthd.conf:
# LDAP auth/lookup settings
ldap_servers: ldap://domain.com
ldap_default_domain: domain.com
ldap_search_base: DC=domain,DC=com
ldap_bind_dn: CN=LDAP Bind,CN=Users,DC=domain,DC=com
ldap_bind_pw: password
# AD Options
ldap_deref: never
ldap_restart: yes
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_mech: PLAIN
/etc/sasl2/svn.conf:
pwcheck_method: saslauthd
auxprop_plugin: ldap
mech_list: PLAIN LOGIN
ldapdb_mech: PLAIN LOGIN
/srv/svn/repo/conf/svnserve.conf:
[general]
anon-access = none
auth-access = write
authz-db = /srv/svn/repo/conf/authz
realm = Engineering
[sasl]
use-sasl = true
min-encryption = 0
svn+ssh オプションをいじっていたときに何が変わったのかわかりません。それが機能しないことに気付いたときに元に戻すのを忘れていたでしょう。どんな助けでも大歓迎です。