乌龟SVN无法验证身份

4
在我之前遇到的问题TortoiseSVN无法连接解决后,我遇到了一个新问题。在托管我的svn存储库的Linux服务器上,在存储库目录中,有一个conf/svnserve.conf文件。在这个文件中,我有一个选项:
anon-access = none | read | write

最初,这一行被注释掉了,而默认值必须是read。当然,我想设置anon-access = none,并且我想要auth-access = write(这是默认值)。但是当我设置anon-access = none时,当我尝试使用url svn://host:port/repositoryname浏览时,使用TortoiseSVN Repository Browser会出现错误:

无法连接到URL为“svn://host:port/repositoryname”的存储库,不允许访问此存储库

如果可能的话,我希望能够成功验证而不需要ssh,因为我发现ssh有更多的组件,并且可能会慢一些。
服务器是CloudLinux Server release 5.8
以下是svn服务器信息。到目前为止,我只尝试过svn协议。

svn,版本1.6.17(r1128011)编译于2012年7月26日03:59:19

版权所有(C)2000-2009 CollabNet。Subversion是开源软件, 请参见http://subversion.apache.org/。本产品包括软件 由CollabNet(http://www.Collab.Net/)开发。

以下存储库访问(RA)模块可用:

  • ra_neon:通过使用Neon协议通过WebDAV访问存储库的模块。
    • 处理“http”方案
  • ra_svn:使用svn网络协议访问存储库的模块。
    • 具有Cyrus SASL身份验证
    • 处理“svn”方案
  • ra_local:访问本地磁盘上的存储库的模块。
    • 处理“file”方案
  • ra_serf:通过使用serf通过WebDAV协议访问存储库的模块。
    • 处理“http”方案
    • 处理“https”方案
我希望这是一个好问题,因为这是使用Windows连接到svn的“开箱即用”行为,当某人将svn添加到共享托管帐户时,这可能是相当普遍的。
谢谢!
1个回答

3

在您的svnserve.conf文件中添加以下行:

 19 anon-access = none
 20 auth-access = write
    [...]
 27 password-db = passwd
    [...]
 39 realm = Name-of-your-repository
 46 force-username-case = lower

行号仅供参考。

realm 应该等于您的存储库名称。它可以是任何内容。 password-db 是被授权使用存储库的人。默认情况下,该行被 NOPed 出来。

接下来,您将编辑位于同一目录中的 passwd 文件。格式非常简单:

 <userName> = <password>

有两个NOP条目可以展示给您操作方法。

谢谢!它起作用了!我没有找到force-username-case这一行,但这并不影响结果。在那时,当我进入TortoiseSVN Repository Browser时,它提示我进行验证,并有一个复选框来保存登录信息,这样我就不必重复登录了。Visual Studio 2010中的VisualSVN也可以使用。这很简单,但我却不知为什么很难找到。 - toddmo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接