当前位置: 首页>>技术教程>>正文


SVN权限被拒绝-txn-current-lock

, ,

问题描述

我刚刚在ubuntu服务器上设置了svn。我有一个可以登录的用户。问题是,每当我尝试对文件结构进行更改时,都会出现权限被拒绝的错误。


Can't open file '/var/www-svn/db/txn-current-lock':
Permission denied

我的存储库位于/var /www-svn中,该文件夹上的权限是用户AND组svn的drwxr-xr-x(我对权限很不好,所以我不知道这是正确的)。我登录svn的用户位于svn组中,但是我无法更改文件结构。我究竟做错了什么?如果我也将文件夹的用户和组更改为我也登录的用户,则可以使用。

在svnserve.conf中,将anon-access设置为none,将auth-access设置为write。

(我通过在/var目录中键入sudo chown -R svn:svn www-svn来更改/var /www-svn的所有者。)

最佳办法

文件系统上的存储库文件夹必须是所有者,或者最后必须由您的svn或apache通过web-dav正在处理的同一Linux用户具有读/写权限。

就我而言:

$ chown -R www-data:www-data /svn/reponame

但在其他情况下,情况可能会有所不同,例如

$ chown -R someuser:somegroup /svn/reponame

因此,用适当的值替换someuser:somegroup。

次佳办法

您必须为/var /www-svn /文件夹添加SETUID位,因为在事务下将在SVN运行期间生成一些文件夹,以保留由文件夹表示的事务。

简而言之,这意味着

chmod +s -R /var/www-svn/

应该解决问题。

第三种办法

svnserve守护进程以我的用户身份运行,而不是以root用户身份运行。我杀死了在我的用户下运行的svnserve进程,并以root身份重新启动了它。现在可以使用了。

第四种办法

我的问题最终是我应用了权限,然后执行了svnadmin create,因此再次需要设置权限。

 $ sudo chown -R www-data:subversion myproject
 $ sudo chmod -R g+rws myproject

第五种办法

对于superuser.com来说似乎是个问题。乍一看,组svn对该文件夹没有写权限。也许这就是问题所在。看看这个http://www.svnforum.org/threads/35493-Can-t-open-db-txn-current-lock-permission-denied

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/8669.html,未经允许,请勿转载。