2016-11-20 103 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>

相关问题