创建存储库时Subversion“授权失败”

时间:2010-01-07 19:59:04

标签: svn authorization

我以前在我的计算机上有一个供本地使用的存储库并将其删除。

现在我正在努力设置另一个。但即使输入正确的密码,仍然会收到“授权失败”,当我输入错误的密码时,它会告诉我。这正是我第一次设置它,但现在每次都失败了。我究竟做错了什么?它是我计算机上唯一的存储库。我已经尝试重新安装subversion并删除AppData文件夹中的缓存,但没有任何帮助。

我正在使用本指南进行设置。 https://blog.codinghorror.com/setting-up-subversion-on-windows/

这就是我正在做的事情

C:\>svnadmin create "H:\SVN\Repository"

C:\>sc create svnserver binpath= "C:\Program Files (x86)\Subversion\svnserve.exe
 --service -r H:\SVN\Repository" displayname= "SubVersion" depend= Tcpip start=
auto
[SC] CreateService SUCCESS

C:\>set SVN_EDITOR=c:\windows\system32\notepad.exe

C:\>net start svnserver
The SubVersion service is starting.
The SubVersion service was started successfully.

C:\>svn mkdir svn://localhost/myProject

Log message unchanged or not specified
(a)bort, (c)ontinue, (e)dit:
c
Authentication realm: <svn://localhost:3690> myProject
c
Password for 'Admin':
Authentication realm: <svn://localhost:3690> myProject
c
Username: user
Password for 'user': ********
svn: Authorization failed

C:\>

我的svnserve.conf文件

[general]
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
realm = myProject

我的passwd文件

[users]
user = password

4 个答案:

答案 0 :(得分:16)

错误消息显示“授权失败”,而不是“身份验证失败”。这意味着您已成功通过身份验证(即您的用户名和密码没问题),但您认证的用户无权执行该命令(即,您无权创建该目录)。

这意味着您没有连接到正确的svnserve实例(您说您已经有一个设置,这是您尝试设置的第二个),或者svnservice没有使用正确的svnserve.conf文件,或'authz'文件不正确(可能指定svnserve.conf文件中auth文件的完整路径)。

答案 1 :(得分:6)

在Fedora 17上使用svnserve进行SVN配置 SVN服务器配置

  1. 创建存储库
  2. 以root用户身份登录

    svnadmin create Repository
    

    这将创建Repository dir

    ll Repository/
    total 24
    drwxr-xr-x. 2 root root 4096 Aug  1 16:32 conf
    drwxr-sr-x. 6 root root 4096 Aug  1 15:07 db
    -r--r--r--. 1 root root    2 Aug  1 14:34 format
    drwxr-xr-x. 2 root root 4096 Aug  1 14:34 hooks
    drwxr-xr-x. 2 root root 4096 Aug  1 14:34 locks
    -rw-r--r--. 1 root root  229 Aug  1 14:34 README.txt
    
    cd Repository
    
    1. 编辑存储库/ conf / passwd文件

      vi Repository / conf / passwd

    2. 添加以下行:

      [users]
      user1 = user1
      

      左侧的作业是用户名&amp;右边是密码

      1. 编辑存储库/ conf / authz文件

        vi Repository / conf / authz

      2. 添加以下行:

        [/]
        User1 = rw
        

        它会给用户1读取&amp;写权限。

        1. 编辑Repository / conf / svnserve.conf文件

          vi Repository / conf / svnserve.conf

        2. 添加以下行:

          anon-access = none 
          auth-access = write 
          password-db = passwd 
          authz-db = authz
          
          1. 检查svnserve守护程序的状态

            /etc/init.d/svnserve status

          2. 如果它处于非活动状态,请使用:

            /etc/init.d/svnserve start
            

            再次检查状态,如果它正在运行,它将显示

            /etc/init.d/svnserve status
            
            svnserve.service - LSB: start and stop the svnserve daemon
                      Loaded: loaded (/etc/rc.d/init.d/svnserve)
                      Active: active (running) since Thu, 01 Aug 2013 12:14:27 +0530; 2h 19min ago
            

            Process: 1655 ExecStart=/etc/rc.d/init.d/svnserve start (code=exited,状态= 0 / SUCCESS)

                    Main PID: 1658 (svnserve)
                      CGroup: name=systemd:/system/svnserve.service
                              â 1658 /usr/bin/svnserve --daemon --pid-file=/var/run/svnserve.pid
            

            现在,您的SVN服务器已准备就绪。 

            客户端配置

            1. SVN结帐 以普通用户身份登录

              svn co svn://203/124/15.24/root/Repository/

            2. 这将创建Repository dir&amp; sub_dirs。

              您已准备好使用SVN。 

答案 2 :(得分:2)

尝试svn mkdir svn://localhost/myProject -m "some message" --username user --password password,看看是否有所作为。

答案 3 :(得分:1)

我想在SVN的版本1.6.x 中添加,我必须在 authz 文件中更改内容。

在我以前这样之前:

[repository:/path/to/repo]
@authors = rw
@readers = r

但是现在一些的原因不起作用。当我将其更改为此时,我获得了身份验证:

[/]
@authors = rw
@readers = r