我以前在我的计算机上有一个供本地使用的存储库并将其删除.
现在我想尝试另一个.但即使输入正确的密码,仍然会收到"授权失败",当我输入错误的密码时,它会告诉我.这正是我第一次设置它,但现在每次都失败了.我究竟做错了什么?它是我计算机上唯一的存储库.我已经尝试重新安装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文件).
小智 6
在Fedora 17 SVN服务器配置上使用svnserve进行SVN配置
以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)
编辑Repository/conf/passwd文件
vi Repository/conf/passwd
添加以下行:
[users]
user1 = user1
Run Code Online (Sandbox Code Playgroud)
左侧的分配是用户名,右侧是密码
编辑存储库/ conf/authz文件
vi Repository/conf/authz
添加以下行:
[/]
User1 = rw
Run Code Online (Sandbox Code Playgroud)
它将赋予user1读写权限.
编辑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)
检查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服务器已准备就绪.
客户端配置
SVN checkout以普通用户身份登录
svn co svn://203/124/15.24/root/Repository/
这将创建Repository dir和sub_dirs.
您已准备好使用SVN.