我们在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界面运行也可以。因此,我们认为hudson的实际执行必须与其他用户一样(虽然没有公共文档那样),我们在代码中打印了whoami,它似乎表示'hudson'。
即使访问文件(不能访问所有文件),因为哈德森似乎也可以工作,就像bash - sudo -u hudson cat /usr/lib/vocanic-credentials/hudson_dev_vocanic_mantle_build.php
一样。
目前,我们不知道如何解决此问题。任何帮助将不胜感激。
答案 0 :(得分:1)
听起来它可能是Hudson用户的权限问题 - 在您将hudson用户添加到组后,您是否重新启动了服务器?尝试这样做,我想这应该可以解决你的问题。