【问题标题】:Subversion with Apache and permissions issuesSubversion 与 Apache 和权限问题
【发布时间】:2011-05-31 05:04:15
【问题描述】:

我已经通过svnadmin create 命令和适当的虚拟主机配置设置了一个用于 Apache 2 的 SVN 存储库。我发现,为了正确使用存储库,它必须归 wwwrun 用户(或 www 组)所有或修改为 777

我想问是否可以明确告诉 Apache 在向特定路径(来自 vhost.conf)提供请求时冒充另一个用户,就像suphp 扩展名,所以我赢了一旦我创建了一个存储库,就不要乱用权限。

提前谢谢你

【问题讨论】:

    标签: linux svn apache permissions chmod


    【解决方案1】:

    要模拟另一个用户,apache 需要具有提升的权限 - 这首先会错过以有限权限运行 apache 的点(如在您的示例中使用 wwwrun)。因此,请选择以下一项

    • 以 root 身份运行 apache(很危险,因为受损的 apache 会损害您的整个系统)
    • 使 wwwrun 成为您授予对存储库的访问权限的 svnrepo 组的成员
    • 创建一个suid二进制文件和一个对应的apache模块,让apache可以模拟(非常复杂,容易搞砸——suphp就是这么干的)
    • 更改存储库本身的权限以允许所有人、wwwrunwww 组。

    坦率地说,我没有看到您在使用第二个或最后一个选项时遇到的问题。为什么你不能允许wwwrun 访问你的 svn 仓库?

    【讨论】:

    • 感谢您的回答。我问这个问题是因为第二个选项(我最喜欢的)对于在服务器上没有 root 访问权限的用户来说,如果他们弄乱了存储库(他们将不得不打电话给管理员并修复权限),他们可能会很棘手。我的问题是针对共享托管环境的,但我没有强调这一点。当然是一个好方法,但是如果用户创建了一个私有存储库,并且在服务器上拥有另一个帐户的人设法获取了存储库的路径,他可以创建一个 PHP 脚本,通过 svnadmin dump 获取私有存储库。如果你说suid难,我相信你
    猜你喜欢
    • 2012-10-13
    • 1970-01-01
    • 1970-01-01
    • 2016-10-07
    • 1970-01-01
    • 2017-06-07
    • 2021-10-26
    • 2021-12-16
    • 1970-01-01
    相关资源
    最近更新 更多