訪問我們有一個哈德森+ PHP + phing安裝在Ubuntu 12.04文件哈德森用戶權限不哈德森構建
運行我們擁有了一套我們要安全證書文件。這些文件位於/ 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
當我們更改權限以允許「全部」訪問時,從哈德森web界面運行也可以。因此,我們認爲哈德森的實際執行必須與其他用戶一樣(儘管沒有公開文檔),我們在代碼中打印了whoami,並且它似乎表示'哈德森'。
即使像哈德森那樣訪問文件(無法訪問所有文件)似乎也能正常工作,就像它從bash - sudo -u hudson cat /usr/lib/vocanic-credentials/hudson_dev_vocanic_mantle_build.php
一樣。
目前,我們不知道如何解決這個問題。任何幫助將不勝感激。
讓我試着看看是否有幫助.. – Shreeni
解決了這個問題。這也解釋了爲什麼直接以哈德森身份登錄並運行它,因爲那時候,我將被納入組中,但哈德森服務在添加到組之前運行,該服務沒有權限訪問該文件。 – Shreeni