我们在Ubuntu 12.04上运行了一个hudson php phing设置
我们有一组我们想要保护的凭证文件.这些文件位于/usr/lib / vocanic-credentials /中.这里的所有文件都可以通过www-data或hudson访问(我们已经配置了组访问凭证).
使用此设置,当我以hudson身份登录并从bash运行phing命令时,一切正常.通过hudson构建过程(通过在Web界面上进行“立即构建”)运行相同的操作时,它会失败,说“权限被拒绝”.
[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界面运行也可以.所以,我们认为哈德森的实际执行必须和其他一些用户一样(虽然没有那种效果的公共文档),我们在代码中打印了whoami,它似乎表示’哈德森’.
即使访问文件(不能访问所有),因为哈德森似乎也可以工作,就像来自bash – sudo -u hudson cat /usr/lib/vocanic-credentials/hudson_dev_vocanic_mantle_build.php一样.
目前,我们不知道如何解决这个问题.任何帮助将不胜感激.
解决方法:
听起来它可能是Hudson用户的权限问题 – 在您将hudson用户添加到组后,您是否重新启动了服务器?尝试这样做,我想这应该可以解决你的问题.