Php 无法从hudson build访问具有hudson用户权限的文件

Php 无法从hudson build访问具有hudson用户权限的文件,php,hudson,phing,Php,Hudson,Phing,我们在Ubuntu12.04上运行了hudson+php+phing设置 我们有一组要保护的凭据文件。文件位于/usr/lib/vocanic-credentials/中。这里的所有文件都可以通过www-data或hudson访问(我们已经配置了组访问凭据) 在这个设置中,当我以hudson身份登录并从bash运行phing命令时,一切正常。当在hudson构建过程中运行相同的程序时(通过在web界面上转到“立即构建”),它会说权限被拒绝而失败 [01;35m[PHP Error] includ

我们在Ubuntu12.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”

甚至像hudson那样访问文件(不访问所有文件),就像从bash-
sudo-u hudson cat/usr/lib/vocanic credentials/hudson_dev_vocanic_mantle_build.php中访问文件一样


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

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

这就解决了问题。这也解释了为什么直接以hudson的身份登录并运行它是可行的,因为在那个时候,我本来会被包括在组中,但hudson服务在添加到组中之前一直在运行,该服务没有访问该文件的权限。