4

我们在 Ubuntu 12.04 上运行了 hudson + php + phing 设置

我们有一组要保护的凭据文件。这些文件位于 /usr/lib/vocanic-credentials/ 中。这里的所有文件都可以通过 www-data 或 hudson 访问(我们已经配置了组访问凭据)。

使用此设置,当我以 hudson 身份登录并从 bash 运行 phing 命令时,一切正常。当通过 hudson 构建过程运行相同的程序时(通过转到 Web 界面上的“立即构建”),它会失败并说 Permission Denied。

[01;35m[PHP Error] include(.../hudson_dev_vocanic_mantle_build.php): 
failed to open stream: Permission denied [line 3 of /.../utils_config.inc.php][m
[01;35m[PHP Error] include(): Failed opening 
'/usr/lib/vocanic-credentials/hudson_dev_vocanic_mantle_build.php'
for inclusion (include_path='...') [line 3 of /.../utils_config.inc.php][m

当我们更改权限以允许“全部”访问时,从 hudson Web 界面运行也可以。因此,我们认为 hudson 的实际执行必须与其他用户一样(尽管没有公开文件表明这一点),我们从代码中打印了 whoami,它似乎表示“hudson”。

即使像 hudson 那样访问文件(不能访问所有文件)似乎也可以工作,就像从 bash - 一样sudo -u hudson cat /usr/lib/vocanic-credentials/hudson_dev_vocanic_mantle_build.php

目前,我们不知道如何解决这个问题。任何帮助将不胜感激。

4

1 回答 1

1

听起来这可能是 Hudson 用户的权限问题 - 在您将 hudson 用户添加到组后,您是否重新启动了服务器?尝试这样做,我想这应该可以解决您的问题。

于 2013-08-22T07:12:41.440 回答