Назад | Перейти на главную страницу

SVN SASL Commit - Ошибка авторизации

Я пытался настроить наш сервер SVN так, чтобы он был доступен как DAV SVN через Apache, так и теперь протокол SVN: // (для лучшей производительности)

root@svnvm:~# svnserve --foreground -d --foreground -R --config-file /svn/svnserve.conf -r /svn/projects/ --log-file /var/log/svn.log

Я получаю эту ошибку при запуске процесса svnserve;

корень @ svnvm: ~ # хвост /var/log/auth.log

Mar  7 09:58:21 svnvm svnserve: auxpropfunc error invalid parameter supplied
Mar  7 09:58:21 svnvm svnserve: _sasl_plugin_load failed on sasl_auxprop_plug_init for plugin: ldapdb

Я все еще могу читать / проверять репозиторий, используя правильные учетные данные Active Directory (он не работает при вводе неправильных), доступ через svn://svn/test/

Однако, когда я фиксирую, Tortoise SVN отображает;

Command: Commit  
Error: Commit failed (details follow):  
Error: Authorisation failed  
Completed!:   

корень @ svnvm: ~ # хвост /var/log/svn.log

9660 2012-03-06T23:08:37.983867Z 10.0.0.122 dev test open 2 cap=(edit-pipeline svndiff1 absent-entries depth mergeinfo log-revprops) / SVN/1.7.2 TortoiseSVN-1.7.3.22386
9660 2012-03-06T23:08:37.984316Z 10.0.0.122 dev test ERR /build/buildd/subversion-1.6.6dfsg/subversion/svnserve/serve.c 167 170001 Authorisation failed

Конфигурация сервера;

корень @ svnvm: ~ # cat / svn / authz

[/]
* = rw

корень @ svnvm: ~ # cat /svn/svnserve.conf

[general]
authz-db=/svn/authz
password-db=/svn/passwd
realm=Example Subversion Server
anon-access = none
auth-access = write

[sasl]
use-sasl = true
min-encryption = 0
max-encryption = 0

корень @ svnvm: ~ # ls -l / svn / projects / test /

total 28
drwxrwsr-x 2 root root 4096 2012-03-06 17:41 conf
drwxrwsr-x 3 root root 4096 2010-05-27 02:25 dav
drwxrwsr-x 6 root root 4096 2011-04-05 18:11 db
-r--rwSr-- 1 root root    2 2010-05-27 00:04 format
drwxrwsr-x 2 root root 4096 2010-05-27 02:23 hooks
drwxrwsr-x 2 root root 4096 2010-05-27 00:04 locks
-rw-rwSr-- 1 root root  229 2010-05-27 00:04 README.txt

корень @ svnvm: ~ # cat /etc/saslauthd.conf

###################################################################

ldap_servers: ldap://Example-blade.Example.Example.com.au:3268

ldap_search_base: OU=Example Staff,DC=Example,DC=Example,DC=com,DC=au

ldap_bind_dn: CN=Development,OU=Other,OU=Example Staff,DC=Example,DC=Example,DC=com,DC=au

ldap_bind_pw: -----

#ldap_mech: PLAIN

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

корень @ svnvm: ~ # cat /usr/lib/sasl2/svn.conf

pwcheck_method: saslauthd
auxprop_plugin: ldapdb

mech_list: PLAIN LOGIN
ldapdb_mech: PLAIN LOGIN

корень @ svnvm: ~ # testsaslauthd -u dev -p -----

0: OK "Success."

корень @ svnvm: ~ # хвост / и т.д. / по умолчанию / saslauthd

#MECHANISMS="pam"
MECHANISMS="ldap"

корень @ svnvm: ~ # svnserve --version

svnserve, version 1.6.6 (r40053)
Cyrus SASL authentication is available.

Решение заключалось в том, что svnserve запускался с -R

-R [--read-only]         : force read only, overriding repository config file

Удаление этого разрешило совершение.