2016-11-20 97 views
0

我的rundeck作業配置有一個配置爲使用sudo調用的單個腳本步驟。在作業配置界面腳本步驟執行預覽顯示: sudo -u ${option.mysudouser} scriptfile執行時拒絕的Rundeck權限使用sudo調用的腳本步驟

在作業運行,我得到以下錯誤:

[sudo] password for < my ssh user>:

sudo: unable to execute /tmp/< XXX>-dispatch-script.tmp.sh: Permission denied

在分析我發現的/ tmp/< XXX> - dispatch-script.tmp.sh通過rundeck將scp加到我的節點主機上的文件沒有執行所有的執行權限。不幸的是<我的ssh用戶>和我的< sudo用戶>不同,不共享組。因此,由於具有該腳本的臨時文件無法作爲sudo用戶調用,所以作業運行失敗並出現Permission問題。

有人可以建議:
*如果rundeck提供任何配置值來確定正在創建的臨時腳本文件的權限。
*任何其他解決方法:
我已經嘗試爲指定爲下面的腳本,但他們不解決這個問題:
- 搭配chmod 777的/ tmp/-dispatch-script.tmp.sh;須藤-u $ {} option.mysudouser腳本文件
- 搭配chmod 777的/ tmp/
-dispatch-script.tmp.sh & &須藤-u $ {} option.mysudouser腳本文件

請建議我怎麼能解決這個問題。

回答

0

您的rundeck帳戶需要使用sudo密碼才能運行sudo -u ${option.mysudouser}。如果您可以在目標節點上配置rundeck帳戶,那麼它不需要sudo密碼。你應該很好。

如果您無法更改目標節點上的sudoer文件。您可以使用${option.mysudouser}作爲執行用戶。

Defining a node

<project> <node name="orion" description="a foodazzler service host" tags="staging,us-east" psFamily="unix" osName="Linux" hostname="orion" ssh-authentication="password" ssh-password-option="option.password" username="${job.mysudouser}" /> </project>

相關問題