我在Ubuntu 10.04上使用svnserve解决scheme,通过SASL授权svn用户到Active Directory(LDAP,而不是LDAPDB)。 configuration文件在底部。
升级服务器到12.04版本后,这不再起作用。 我可以通过SASL授权用户使用LDAP
testsaslauthd -u ldap_username -p his_password => 0: OK "Success."
但是,当我尝试在同一台服务器上“svn更新”文件夹时,它会问我三次凭据,并以此结束
svn: Authentication error from server: SASL(-4): no mechanism available:
我不知道如何跟踪svn和sasl之间的通信。
文件/usr/lib/sasl2/svn.conf
pwcheck_method: saslauthd auxprop_plugin: ldap mech_list: PLAIN
文件/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
任何想法,如何解决或追踪问题?
像以上一样的问题只有在debian挤压后才能升级。 经过几个小时的configuration,重新启动并重新安装疯狂我给了下面的“svn.conf”一试:
pwcheck_method: saslauthd #auxprop_plugin: ldap mech_list: plain login cram-md5 digest-md5
IMO,“mech_list:plain”应该就够了。 其他的机器都是以前的试用版本。
这是我的/etc/saslauthd.conf
ldap_servers: ldap://xxx.xxx.xxx.xxx ldap_use_sasl:no ldap_search_base: DC=domain,DC=tdl ldap_bind_dn: [email protected] ldap_bind_pw: magic_word:) ldap_mech: PLAIN ldap_auth_method: bind ldap_filter: (sAMAccountName=%U) log_level: 7
在这里我的/ etc / default / saslauthd
START=yes DESC="SASL Authentication Daemon" NAME="saslauthd" MECHANISMS="ldap" MECH_OPTIONS="" THREADS=5
更新Dez 14:
今天我在svnserve升级(r1615264)之后再次遇到同样的问题:
我不得不将以下内容添加到svn.conf中:
ldapdb_uri: ldap://myldadphost.tld
不要问我为什么,我只是试了一下,因为三四年前,svn.conf中的参数已经(和其他ldap参数一样)…
(1)在/etc/sasl2/svn.conf中,你可以设置saslauthd的日志级别,如:
log_level: 7
在sasl.h中我发现:
#define SASL_LOG_NONE 0 /* don't log anything */ #define SASL_LOG_ERR 1 /* log unusual errors (default) */ #define SASL_LOG_FAIL 2 /* log all authentication failures */ #define SASL_LOG_WARN 3 /* log non-fatal warnings */ #define SASL_LOG_NOTE 4 /* more verbose than LOG_WARN */ #define SASL_LOG_DEBUG 5 /* more verbose than LOG_NOTE */ #define SASL_LOG_TRACE 6 /* traces of internal protocols */ #define SASL_LOG_PASS 7 /* traces of internal protocols, including passwords */
它似乎logging到/var/log/auth.log。
我有几乎相同的问题(从Ubuntu 11.04迁移到12.04),并获得auth.log:
svnserve: could not find auxprop plugin, was searching for 'ldap'
有趣的是,日志说“svnserve”,而不是saslauthd。 这导致我…
(2)你可以试试
ldd /usr/bin/svnserve
对我来说,工作服务器(Ubuntu 11.04)显示:
libldap_r-2.4.so.2 => /usr/lib/libldap_r-2.4.so.2
但失败的服务器(12.04)没有。
尝试将configuration更改为/usr/lib/sasl2/svn.confconfiguration文件(SVN saslconfiguration):
auxprop_plugin: ldapdb mech_list: PLAIN ldapdb_mech: PLAIN saslauthd_path: /var/run/saslauthd/mux ldapdb_uri: <address of your ldap server (ldap://hostname)>