提交到新服务器上的SVN存储库的权限问题

提交到新服务器上的SVN存储库的权限问题,svn,permissions,Svn,Permissions,我最近顺利地将我的svn存储库移动到具有相同路径结构的新服务器上。我更改了DNS,以便域名指向新服务器(interweb DNS管道也知道这一点)。因此,我不必更新工作副本的回购URL(在svn信息中)。我可以很好地签出新副本,但提交更改会导致错误: me$ svn ci -m "testing svn ci on new server" Sending trunk/www/index.php Transmitting file data .svn: Commit failed (

我最近顺利地将我的svn存储库移动到具有相同路径结构的新服务器上。我更改了DNS,以便域名指向新服务器(interweb DNS管道也知道这一点)。因此,我不必更新工作副本的回购URL(在svn信息中)。我可以很好地签出新副本,但提交更改会导致错误:

me$ svn ci -m "testing svn ci on new server"
Sending        trunk/www/index.php
Transmitting file data .svn: Commit failed (details follow):
svn: Can't open file '/var/svn/webrepo/db/txn-current-lock': Permission denied
好的,我尝试使用相同的签入命令,错误如下:

svn: Commit failed (details follow):
svn: To better debug SSH connection problems, remove the -q option from 'ssh' in the [tunnels] section of your Subversion configuration file.
svn: Network connection closed unexpectedly
我在论坛中看到过类似的问题,解决方案是更新工作副本URL或修复远程权限。在我的情况下,URL应该是正常的,我一直在尝试修复权限。我可以与本地用户进行ssh连接。这是远程存储库权限:

drwxrwxr-x 6 svn svn 4096 Feb 20 07:33 webrepo

svn组包含我的远程用户帐户,我使用该帐户进行ssh登录。我已经尝试了chown'ing-R直接向该用户,以及root用户,但没有运气。谢谢你的帮助

同一回购协议中的所有文件都具有以下权限:drwxrwxr-x?用于测试目的的用户是否属于适当的组?我的意思是,有了上述权限,只有所有者用户和所有者组才有权写入文件,如果您试图提交某些内容,这可能会造成麻烦。
你试过比较吗

  • “用户”文件
  • repo目录(递归)

在两台机器上?

同一回购中的所有文件都具有以下权限:drwxrwxr-x?用于测试目的的用户是否属于适当的组?我的意思是,有了上述权限,只有所有者用户和所有者组才有权写入文件,如果您试图提交某些内容,这可能会造成麻烦。
你试过比较吗

  • “用户”文件
  • repo目录(递归)

在这两台机器上?

您忘了用明文提及

  • 您使用哪个协议访问repo(从上下文发现的svn+ssh://,是)
  • 使用哪个用户ssh连接到repo主机
  • 是共享还是单用户回购
阅读SVN书籍中的主题,以便深入理解权限问题,主要围绕本文

在本例中,Subversion客户端正在调用本地ssh 进程,连接到host.example.com,以用户身份进行身份验证 harryssh(根据SSH用户配置),然后生成 以用户身份运行的远程计算机上的专用SVN服务进程 哈里什

和“SSH配置技巧”


简言之,您有错误的所有者,并且可能有错误的权限,您忘记在明文中提及

  • 您使用哪个协议访问repo(从上下文发现的svn+ssh://,是)
  • 使用哪个用户ssh连接到repo主机
  • 是共享还是单用户回购
阅读SVN书籍中的主题,以便深入理解权限问题,主要围绕本文

在本例中,Subversion客户端正在调用本地ssh 进程,连接到host.example.com,以用户身份进行身份验证 harryssh(根据SSH用户配置),然后生成 以用户身份运行的远程计算机上的专用SVN服务进程 哈里什

和“SSH配置技巧”


简言之,您有错误的所有者,并且可能有错误的权限

在将svn移动到linux上运行的新服务器后,我遇到了相同的问题。SVN以www数据用户的身份运行,repo以及所有文件和子目录必须归www数据所有。大多数情况下都是这样,但有些文件属于root用户。通过运行

chown www-data 'new-repo' -R 

它解决了我的问题。

将svn移动到运行linux的新服务器后,我遇到了同样的问题。SVN以www数据用户的身份运行,repo以及所有文件和子目录必须归www数据所有。大多数情况下都是这样,但有些文件属于root用户。通过运行

chown www-data 'new-repo' -R 

它解决了我的问题。

我不确定我做了什么来解决这个问题,但现在它起作用了。我做了svn回购协议的循环,然后返回到777,再返回到755。但这似乎并不能解决问题-是的,我正在使用svn+ssh://-i ssh与svn组中的一个用户连接到主机-这是一个单用户回购无论如何,谢谢你的答复!我不确定我做了什么来解决这个问题,但现在它起作用了。我做了svn回购协议的循环,然后返回到777,再返回到755。但这似乎并不能解决问题-是的,我正在使用svn+ssh://-i ssh与svn组中的一个用户连接到主机-这是一个单用户回购无论如何,谢谢你的答复!