0

我的 rundeck 作业配置了一个脚本步骤,该脚本步骤配置为使用 sudo 调用。作业配置 ui 中脚本步骤的执行预览显示: sudo -u ${option.mysudouser} scriptfile

在工作运行中,我遇到以下错误:

<我的 ssh 用户> 的 [sudo] 密码:

sudo:无法执行 /tmp/<XXX>-dispatch-script.tmp.sh:权限被拒绝

在分析中,我发现/tmp/<XXX>-dispatch-script.tmp.sh文件由 rundeck scp'd 到我的节点主机并没有执行权限。不幸的是 <my ssh user> 和我的 <sudo user> 不同并且不共享组。因此,作业运行因权限问题而失败,因为无法以 sudo 用户身份调用具有脚本的临时文件。

任何人都可以建议:
* 如果 rundeck 提供任何配置值来确定正在创建的临时脚本文件的权限。
*任何其他解决方法:
我已经尝试指定脚本如下,但它们不能解决问题:
- chmod 777 /tmp/ -dispatch-script.tmp.sh;sudo -u ${option.mysudouser} 脚本文件
- chmod 777 /tmp/
-dispatch-script.tmp.sh && sudo -u ${option.mysudouser} 脚本文件

请建议我如何解决这个问题。

4

1 回答 1

0

您的 rundeck 帐户需要 sudo 密码才能运行sudo -u ${option.mysudouser}。如果您可以在目标节点上配置 rundeck 帐户,则它不需要 sudo 密码。你应该很好。

如果无法更改目标节点上的 sudoer 文件。您可以${option.mysudouser}用作执行用户。

定义节点

<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>

于 2017-03-09T20:45:59.713 回答