【发布时间】:2023-03-04 16:26:02
【问题描述】:
因此,截至两天前,我拥有了一个闪亮的新 SVN 服务器。我为 WebDAV 设置它没有问题。直到我尝试主持多个项目时才遇到麻烦。
起初,我将所有项目文件夹放在一个存储库中。但后来我看到了我的错误,并切换到多个存储库。我没有在每个新项目中编辑/etc/apache2/sites-available/default 文件,而是选择使用 svnserve 守护进程。
所以,问题是,当守护进程以 root 身份运行时,我只能从 Eclipse 进行提交。如果没有,我会收到一个 Permission Denied 错误。有任何想法吗?以下是目录统计信息:
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 身份运行,但仍然没有雪茄。同样的权限错误。
编辑 2
我也尝试以 svn 用户身份运行守护进程,但没有这样的运气。有一次,我搞砸了我的主要组,不再拥有 sudo 权限!我不得不通过好友的帐户侵入自己的服务器
编辑 3 回答
好吧,经过几个小时的修补,这是我开始工作的设置。
首先我删除了所有现有的结帐,并杀死了守护进程。 然后我将所有存储库的所有权限设置为 774(见下文) 接下来,我用这个命令运行守护进程 sudo -u svn -- svnserve -d -r /storage/svn/ 这使我可以在不输入密码的情况下以用户 'svn' 的身份运行守护程序。 (出于安全原因,svn 没有密码或外壳) 最后,我仔细检查了我所有的配置文件,并且能够完全按照希望进行检查。 仓库目录
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 文件)
【问题讨论】:
标签: linux svn ubuntu permissions