SVN提交失败,使用SVN服务的权限被拒绝

SVN提交失败,使用SVN服务的权限被拒绝,svn,permissions,Svn,Permissions,我在stack上看到了很多这方面的问题,但修复似乎通常与使用apache为远程svn服务器提供服务有关。我用的是svnserve 我可以使用 %svn checkout svn://my.url.com/test --username justin 然后输入密码。我遵循权限说明以及设置和运行服务器的说明 当我尝试添加一个简单的test.txt文件并提交时,会出现以下错误: svn commit -m "Modified test.txt" Adding test.txt Tra

我在stack上看到了很多这方面的问题,但修复似乎通常与使用apache为远程svn服务器提供服务有关。我用的是svnserve

我可以使用

%svn checkout svn://my.url.com/test --username justin
然后输入密码。我遵循权限说明以及设置和运行服务器的说明

当我尝试添加一个简单的test.txt文件并提交时,会出现以下错误:

svn commit -m "Modified test.txt"
Adding         test.txt
Transmitting file data .svn: E000013: Commit failed (details follow):
svn: E000013: Can't open file '/home/svn/test/db/txn-current-lock': Permission denied

我认为用户的权限有点不正确,但我不确定如何修复它们。存储库位于我的远程计算机上的/home/svn。

这是一个权限问题,但要小心,它似乎也有一些非常规文件。我喜欢这样:

转到保存存储库的svn路径,然后更正错误 权限如下:

find . -type f -exec chmod 666 {} \;
find . -type d -exec chmod 777 {} \;

注意:如果使用svn的用户属于拥有文件的组,则相应权限的最后一位数字可以设置为0,例如:770。

!我也遇到了同样的问题,因为在Suse131 systemd service svn服务上,用户/组svn:svn正在执行中,但具有我的repo的文件夹具有根所有者。解决方法有两种:chownrepo的文件夹改为svn,或者在svnserve.service的配置中将执行svnserve的用户改为root用户。