就在两天前,我有了一个闪亮的新SVN服务器。我为WebDAV设置没有问题。直到我试图托管多个项目,我遇到了麻烦。
首先,我将所有项目文件夹放在一个存储库中。但后来我以我的方式看到了错误,并切换到多个存储库。我没有使用每个新项目编辑/etc/apache2/sites-available/default
文件,而是选择使用svnserve deamon。
所以,问题是,当守护进程以root身份运行时,我只能从Eclipse提交。如果没有,我得到一个权限被拒绝错误。有任何想法吗?以下是目录统计信息:
drwxr-xr-x 6 root root 4096 2011-06-07 09:38 .
drwxr-xr-x 4 root root 4096 2011-06-05 00:48 ..
lrwxrwxrwx 1 svn svn 6 2011-06-06 22:35 all -> repos/
drw-rw-r-- 6 svn svn 4096 2011-06-06 13:53 EmpowerView
drw-rw-r-- 6 svn svn 4096 2011-06-06 13:54 GoogleVoicemail
-rw-rw-r-- 2 svn svn 307 2011-06-07 08:47 passwd
drw-rw-r-- 6 svn svn 4096 2011-06-06 13:54 PerlinNoise
drw-rw-r-- 7 svn svn 4096 2011-06-05 02:15 repos
-rw-rw-r-- 3 svn svn 2278 2011-06-07 08:46 svnserve.conf
我尝试了建议的重新结账,守护程序没有以root身份运行,仍然没有雪茄。相同的权限错误。
我也试过以用户svn的身份运行守护进程,但没有运气。有一次,我搞砸了我的主要小组,不再享有sudo特权!我不得不通过好友的帐户攻击我自己的服务器
好吧,经过几个小时的修补,这是我开始工作的设置。
首先我删除了任何现有的结账,并杀死了守护神。 然后我将所有权限设置为774用于我的所有存储库(见下文) 接下来,我用这个命令运行守护进程sudo -u svn - svnserve -d -r / storage / svn / 这使我能够在不输入密码的情况下以用户'svn'的身份运行deamon。 (出于安全原因,svn没有密码或shell) 最后,我仔细检查了所有配置文件,并且能够完全按照希望进行检查。 存储库目录
drwxr-xr-x 6 root root 4096 2011-06-07 10:34 .
drwxr-xr-x 4 root root 4096 2011-06-05 00:48 ..
lrwxrwxrwx 1 svn svn 6 2011-06-06 22:35 all -> repos/
drwxrwxr-- 6 svn svn 4096 2011-06-06 13:53 EmpowerView
drwxrwxr-- 6 svn svn 4096 2011-06-06 13:54 GoogleVoicemail
-rwxrwxr-- 2 svn svn 307 2011-06-07 08:47 passwd
drwxrwxr-- 6 svn svn 4096 2011-06-06 13:54 PerlinNoise
drwxrwxr-- 7 svn svn 4096 2011-06-05 02:15 repos
-rwxrwxr-- 3 svn svn 2273 2011-06-07 09:50 svnserve.conf
(注意:我的所有存储库都共享通用编辑器和权限,因此在每个存储库conf /文件夹中,我将硬链接放到上面的passwd和svnserve.conf文件中)
答案 0 :(得分:2)
可能svn守护程序对您的存储库具有读权限但不具有写权限。
首先找出svn守护程序运行的用户。然后将完整的存储库chown给该用户。这样守护进程也可以编写你的提交。
答案 1 :(得分:1)
当您以root身份提交或签出时,会发生奇怪的事情。尝试以root身份签出给定的存储库,如果可行,那么您应该能够以普通用户的身份提交它。
如果仍然无效,请检查存储库本身的权限。可能未设置权限以允许非root用户提交访问权限。