我正在使用 WebDAV、XSL 样式表和一些 php 脚本开发我们的 subversion 设置的前端,以便与 svn 二进制文件进行交互。我编写了一个简单的 shell 脚本,根据我们的技术策略(相当标准的东西)设置一个项目。但是,当 apache 用户 _www(OS X 服务器)执行时,该脚本无法正常运行。它抱怨没有获取 _www 的密码。我们通过开放目录进行身份验证,因此没有控制身份验证的 .htaccess 文件。
我是否可以以某种方式授予 _www 访问权限而无需输入密码,以便我的脚本可以非交互运行?
将其添加到 Limit 没有帮助(尽管从 conf 中完全删除 Limit 标签显然有效!):
Require user _www _www@MYSERVER
需要注意的是,_www 对保存我的存储库的目录具有递归所有权。
答案1
如果 subversion 存储库与 Web 服务器位于同一台机器上,则解决方案相当简单。你只需要
chown -R _www /path/to/repo
这应该足够了。确保用户具有读/写权限(并在目录上执行)。确保您通过协议访问存储库file:///
,并且您根本不需要密码。
如果存储库需要由其他用户拥有,则可以使用组来设置权限。
如果您有远程存储库,事情会变得稍微复杂一些。如果是这样的话,我会修改我的答案:)