创建存储库时Subversion"授权失败"

Ste*_*igg 8 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:\>
Run Code Online (Sandbox Code Playgroud)

我的svnserve.conf文件

[general]
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
realm = myProject
Run Code Online (Sandbox Code Playgroud)

还有我的passwd文件

[users]
user = password
Run Code Online (Sandbox Code Playgroud)

Ste*_*fan 16

错误消息显示"授权失败",而不是"身份验证失败".这意味着你成功地认证(即您的用户名和密码就可以了),但你的人验证的用户没有执行命令(即,你无权创建目录)的权利.

这要么意味着你没有连接到正确的svnserve实例(你说你已经有一个成立,这是你正在试图建立第二个),或svnservice不使用正确的svnserve.conf文件或"AuthZ的"文件不正确的(也许指定您的svnserve.conf文件的完整路径AUTH文件).

  • 谢谢,我通过从svnserve.conf文件中删除authz-db行来修复它.我不知道它为什么会引起问题,没有任何未评论的内容. (7认同)

小智 6

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

  1. 创建存储库

以root用户身份登录

svnadmin create Repository
Run Code Online (Sandbox Code Playgroud)

这将创建Repository目录

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
Run Code Online (Sandbox Code Playgroud)
  1. 编辑Repository/conf/passwd文件

    vi Repository/conf/passwd

添加以下行:

[users]
user1 = user1
Run Code Online (Sandbox Code Playgroud)

左侧的分配是用户名,右侧是密码

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

    vi Repository/conf/authz

添加以下行:

[/]
User1 = rw
Run Code Online (Sandbox Code Playgroud)

它将赋予user1读写权限.

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

    vi Repository/conf/svnserve.conf

添加以下行:

anon-access = none 
auth-access = write 
password-db = passwd 
authz-db = authz
Run Code Online (Sandbox Code Playgroud)
  1. 检查svnserve守护程序的状态

    /etc/init.d/svnserve状态

如果不活动,请使用:

/etc/init.d/svnserve start
Run Code Online (Sandbox Code Playgroud)

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

/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
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

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

客户端配置

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

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

这将创建Repository dir和sub_dirs.

您已准备好使用SVN.