我正在尝试从 Rundeck 的 CentOS 安装中与 nodejs Azure sdk 交互。
如果我从“运行”临时虚拟外壳尝试,我可以在运行后azure account import <mykey>
执行,如果我将它们设置为 Rundeck 节点任务并且没有在作业设置中选择“调度到节点”,我还可以在作业中执行其他 Azure 命令。
尝试将 Azure sdk 命令作为要分派到节点(本地)的命令运行失败并出现以下错误:
localhost1-NodeDispatch-localexec
04:53:04 /usr/bin/env: node: No such file or directory
04:53:04 Failed: NonZeroResultCode: Result code was 127
我无法通过运行“快速启动”相同的环境azure account import <mykey>
我假设这是一个权限/环境问题,但不确定如何解决它。
更新:
whoami
从同一个作业执行返回rundeck
,所以我假设我需要修改它以作为我的系统用户执行任务或授予权限以使rundeck
用户进入运行 Azure sdk 的节点环境?
为了解决这个问题,我将本地命令作为 sudo 运行,这还需要在 visudo 中禁用对 tty 的需要,并取消 rundeck 用户对 sudo 密码的需要。
请注意,这会打开许多潜在的安全漏洞,不应在生产中使用。