【问题标题】:SVN commit fails with permission denied using svnserveSVN 提交失败,使用 svnserve 拒绝权限
【发布时间】:2017-07-01 00:06:16
【问题描述】:

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

我可以使用

签出一个 svn 存储库
%svn checkout svn://my.url.com/test --username justin

然后输入密码。我遵循了these 的权限说明和these 设置和运行服务器的说明。

当我尝试添加一个简单的 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。

【问题讨论】:

  • 非常感谢!我遇到了同样的问题,因为在 Suse131 systemd 服务 svnserve 上执行时有用户/组 svn:svn,但是我的 repo 的文件夹有 root 所有者。有两种解决方法:将 repo 的文件夹改成 svn,或者在 svnserve.service 的配置中将执行 svnserve 的用户更改为 root。

标签: svn permissions


【解决方案1】:

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

转到保存存储库的 svn 路径,然后更正 像这样的权限:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-28
    • 2015-03-25
    • 2014-11-04
    • 2012-03-27
    • 1970-01-01
    • 1970-01-01
    • 2015-03-13
    相关资源
    最近更新 更多