【发布时间】:2011-04-30 13:54:06
【问题描述】:
每当提交时,我想使用 SVN 存储库 (Unfuddle) 的回调功能在我的服务器上 ping 一个 URL。我有一个 PHP 脚本接受消息并尝试调用 shell 脚本来执行“svn 更新”。
我面临的问题是 Apache 在用户“www-data”下运行并且无权访问本地存储库:“.svn/lock”权限被拒绝。我已经阅读了所有关于在 shell 脚本上设置 SUID/SGID 以及大多数 *NIX 操作系统由于涉及安全风险而根本不支持它的内容。
但是,我可以在位于 /usr/bin/svn 的 SVN 二进制文件上设置 SUID/SGID 位。这通过允许任何用户在任何存储库上发出 SVN 命令来缓解问题;不是最理想的……
我的问题是实现此类设置的最合乎逻辑/理智/安全的方法是什么,如果我确实保留了 svn 二进制文件中设置的位,这会带来我没有意识到的重大安全风险吗?
对不起,冗长的帖子;这是我的第一个问题,我想彻底。
谢谢
【问题讨论】:
标签: security svn permissions