2011-03-07 83 views
2

注意:我已经通读了最近的150个svn commit错误问题,并且没有任何答案可以解决我的问题。SVN commit身份验证失败

我试图设置一个简单的svn服务器,我可以从中检出并向其提交文件。

的conf/svnserv.conf

[global] 
anon-access = none 
auth-access = rw 
password-db = passwd 
#authz-db = authz 

的conf从另一台机器/ passwd文件

[users] 
myuser = password 

svn签工作正常:

svn co svn://138.25.25.42:3690 test --username myuser --password password 

然后我说在我的本地本地文件资料库副本

echo "content" > testfile 
svn add testfile 

但是当我现在尝试提交我得到一个验证/授权(德语:Autorisierung)错误(所有3相同)

svn ci --username myuser --password password -m "lala" 
svn ci . --username myuser --password password -m "lala" 
svn ci test --username myuser --password password -m "lala" 

看使用Wireshark的传输,它看起来像我的用户名和密码忽略(?)

[SERVER->CLIENT] 
(success (2 2 () (edit-pipeline svndiff1 absent-entries commit-revprops depth log-revprops partial-replay))) ( 
[CLIENT->SERVER] 
2 (edit-pipeline svndiff1 absent-entries depth mergeinfo log-revprops) 25:svn://138.25.25.42:3690 21:SVN/1.6.15 (r1038135) ()) 
[SERVER->CLIENT] 
(success ((ANONYMOUS) 36:ab25c003-0e26-4e93-98a3-6c5d9cc9a979)) (ANONYMOUS (0:)) (success ()) (success (36:ab25c003-0e26-4e93-98a3-6c5d9cc9a979 25:svn://138.25.25.42:3690 (mergeinfo))) 
[CLIENT->SERVER] 
(commit (4:lala () false ((7:svn:log 4:lala)))) 
[SERVER->CLIENT] 
(failure ((170001 0: 62:/build/buildd/subversion-1.6.5dfsg/subversion/svnserve/serve.c 167)))  

任何帮助获取提交工作将不胜感激。

编辑:奇怪的是,一个匿名结账工作,以及;所以配置文件似乎被忽略,我只是不明白为什么。

+0

svnserve的日志中的任何东西? – Thomas 2011-03-07 17:59:51

+0

日志只是说svn ERR serve.c 167 170001授权失败 – 2011-03-07 18:15:13

+0

您的svnserve.conf位于何处? – 2011-03-07 18:38:56

回答

3

解决!

问题是:我已经在我的主目录中设置了svn服务器目录,并且运行svnserve的用户无法访问它,无论目录中的777权限如何(因为它没有权限访问父目录)。

1

看来你已经在“auth-access”中获得了错误的标记。它应该是“写”而不是“rw”。此外,您应该在其中指定一个“领域”,以便用户进行身份验证以了解他们正在进行身份验证。

+0

试图写入而不是rw和svnserve重新启动,仍然是相同的错误。还增加了一个境界,没有区别。 – 2011-03-07 18:14:40

+1

这是一个文件系统权限问题吗?你在SSH后面运行svnserve吗? – 2011-03-07 18:16:12

+0

另外,我刚刚注意到您的结帐行中可能存在拼写错误。您有“svn co svn://138.25.25.42:3690测试...”,而它应该是“svn co svn://138.25.25.42:3690/test ...”。 – 2011-03-07 18:17:05

0

我有一个类似的问题与颠覆(身份验证失败)。 我的解决方案是我需要切割配置文件中的所有空间。

上面一样: CONF/svnserve.conf的应该是:

[global] 
anon-access=none 
auth-access=write 
password-db=passwd 
#authz-db = authz 

CONF/passwd的应该是:

[users] 
myuser=password 

当然所述的svnserve.conf的接入和passwd必须accessabele由svnserve进程。