我正在尝试在CentOS 5系统上设置SVN,以便多个人可以使用存储库。
/var/svnrepository
创建了存储库。subversion
用户和组,以递归方式将其作为存储库的所有者。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,从未遇到过这个问题。我这次不知道自己在做什么。
答案 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 second。 svnserve -d
应该以单个用户身份运行。
以下是尝试使多种访问方法有效的documentation。