我的 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} 脚本文件
请建议我如何解决这个问题。