我正在尝试从 CentOS 安装的 Rundeck 与 nodejs Azure sdk 进行交互。
如果我尝试从“运行”临时虚拟 shell 运行,那么我能够在运行后执行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 正在运行的节点环境?
答案1
为了解决这个问题,我以 sudo 的身份运行本地命令,这还需要禁用 visudo 中对 tty 的需求,并消除 rundeck 用户对 sudo 密码的需求。
请注意,这会带来许多潜在的安全漏洞,不应在生产中使用。