奇怪的Subversion权限问题

时间:2009-12-02 01:29:50

标签: linux svn

我正在尝试在CentOS 5系统上设置SVN,以便多个人可以使用存储库。

  • 我在/var/svnrepository创建了存储库。
  • 我添加了一个subversion用户和组,以递归方式将其作为存储库的所有者。
  • 我以递归方式将权限设置为775。
  • 我确保所有系统用户都在subversion组。

我遇到的问题是,当我提交时,SVN显然会创建一个名为db/current的文件,它有我的用户名和组。所以说我的用户名是jimbo ...

-rwxrwxr-x 1 jimbo      jimbo         11 Dec  2 01:09 current

之后,没有其他人可以检查任何事情。他们获得了拒绝权限错误。

名为db/format的文件也存在类似的问题。

Can not open file /var/svnrepository/contactdb/trunk/format: Permission denied

有没有人见过这个?知道解决方案吗?

所有存储库访问都是通过ssh。

奇怪的是,我之前在Linux上设置了SVN,从未遇到过这个问题。我这次不知道自己在做什么。

2 个答案:

答案 0 :(得分:3)

注意,通常在Subversions存储库目录及其子目录上设置setGID:

drwxr-sr-x svnowner svnusers 4096 2008-11-01 .

通过chmod 775你取消设置这个setGID位,这就是问题发生的原因:

setGID表示:如果您创建文件,该组将设置为 svnusers (在我的示例中),而不是您的主要组。

我打赌你没有设置SetGID位,对吗?

但是,最好更改文件夹的GID:

chmod g+s <REPO>/dir

最好先查看一个新创建的存储库以匹配权限。

答案 1 :(得分:2)

您使用的是svnserve还是每个人都在浏览file:/// URI? Subversion建议使用against the secondsvnserve -d应该以单个用户身份运行。

以下是尝试使多种访问方法有效的documentation