在 Ubuntu 更新 10.04 -> 12.04 后,Svn 对 sasl+ldap 的授权失败

Fot*_*ton 5 svn ldap sasl ubuntu-12.04

我在 Ubuntu 10.04 上使用了 svnserve 解决方案,用于通过 SASL 将 svn 用户授权到 Active Directory(LDAP,而不是 LDAPDB)。配置文件在底部。

将服务器升级到 12.04 版本后,这不再起作用。我可以通过 SASL 向 LDAP 授权用户

 testsaslauthd -u ldap_username -p his_password
 => 0: OK "Success."
Run Code Online (Sandbox Code Playgroud)

但是当我尝试在同一服务器上的文件夹上“svn update”时,它会问我三遍凭据并以

 svn: Authentication error from server: SASL(-4): no mechanism available:
Run Code Online (Sandbox Code Playgroud)

我不知道如何跟踪 svn 和 sasl 之间的通信。

情况:

  • Ubuntu 10.04 + subversion 1.6.6(支持 Cirrus SASL)=> 工作
  • Ubuntu 12.04 + subversion 1.6.17(支持 Cirrus SASL)=> 不工作(配置相同)

文件 /usr/lib/sasl2/svn.conf

 pwcheck_method: saslauthd
 auxprop_plugin: ldap
 mech_list: PLAIN
Run Code Online (Sandbox Code Playgroud)

文件 /usr/lib/sasl2/subversion.conf -> 符号链接到 /usr/lib/sasl2/svn.conf

文件 /opt/svn/repos/conf/svnserve.conf

 [general]
 anon-access = none
 auth-access = write
 #password-db = passwd
 authz-db = authz
 realm = smartsvn

 [sasl]
 use-sasl = true
 min-encryption = 0
 max-encryption = 256
Run Code Online (Sandbox Code Playgroud)

任何想法,如何修复或追踪问题?

小智 1

尝试将配置更改为 /usr/lib/sasl2/svn.conf 配置文件(SVN sasl 配置):

auxprop_plugin: ldapdb
mech_list: PLAIN
ldapdb_mech: PLAIN
saslauthd_path: /var/run/saslauthd/mux
ldapdb_uri: <address of your ldap server (ldap://hostname)>
Run Code Online (Sandbox Code Playgroud)