我正在尝试在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,但从未遇到过此问题.我不知道这次我在做什么.
解决方法:
注意,通常在Subversions存储库目录及其子目录上设置setGID:
drwxr-sr-x svnowner svnusers 4096 2008-11-01 .
通过chmod 775,您可以取消设置此setGID位,这就是发生问题的原因:
setGID的意思是:如果创建文件,则该组将设置为svnusers(在我的示例中),而不是主组.
我敢打赌,您没有设置SetGID位,对吗?
但是,最好更改文件夹的GID:
chmod g+s <REPO>/dir
最好您查看一个新创建的存储库以匹配权限.