如何自动调整 Subversion 存储库文件权限以供 Apache/DAV 使用?

如何自动调整 Subversion 存储库文件权限以供 Apache/DAV 使用?

我已经设置了一个可以通过 Apache/DAV 访问的 Subversion 服务器,几天前搞砸了存储库文件权限后,我开始怀疑是否有比我现在的做法更好的方法。

存储库归专门的用户和组所有,而 apache 以常规www:www用户身份运行,因此它对存储库没有写入权限。到目前为止,我的解决方案是将用户添加wwwsvn组并确保存储库内的文件是组可写的……但六个月后,我将创建一个新的存储库,忘记修复文件权限,并且只要有人尝试提交某些内容,我就会收到一些电子邮件。

还有其他方法可以做到这一点吗?也许首先强制 svnadmin 创建可组写的存储库?(如果您想知道服务器是否是 FreeBSD 6.2)

答案1

当您使用 Apache 访问存储库时,Apache 运行的用户必须具有写入权限。因此,最简单的解决方案是将存储库提供给该用户。

在我的 Debian 机器上,Apache 的运行情况如下www-data

    %ls-ald / home / Subversion存储库
    drwxr-xr-x 7 www-data www-data 4096 11月14日 10:02 /home/Subversion-Repository

这只有在你希望通过 Apache/DAV 和其他方式访问同一个存储库时才会出现问题。但这种做法灰心。 我引用:

幸运的是,大多数存储库管理员永远不需要如此复杂的配置。希望访问位于同一台计算机上的存储库的用户不限于使用 file:// 访问 URL — 他们通常可以使用 http:// 或 svn:// URL 中的 localhost 作为服务器名称来联系 Apache HTTP 服务器或 svnserve。并且,为 Subversion 存储库维护多个服务器进程可能会比必要的更令人头疼。我们建议您选择最能满足您需求的单个服务器并坚持使用它!

答案2

长期解决方案是使用 ACLS 允许 www 用户对目录树以及在树中创建的所有未来目录进行写访问。

尝试这个 URL 来开始。

http://www.onlamp.com/pub/a/bsd/2005/09/22/FreeBSD_Basics.html

-布莱恩

相关内容