当来自非 root 用户的 运行 时,`Ansible-playbook` 命令失败

`Ansible-playbook` command fails when run from a non-root user

我正在尝试 运行 来自 RHEL 机器上 cloud-user(non-root) 用户的 ansible-playbook。该剧本需要 sudo 访问权限,为此我使用了以下命令 -

 ansible-playbook -i inventory -e @install_vars.yaml playbooks/install.yaml --become-method=sudo --become

使用become解决了之前安装包遇到的问题。 但是,我收到以下错误:

fatal: [ash-test-bb22-bastion-0]: FAILED! => {"changed": true, "cmd": "openshift-install create manifests --log-level info", "delta": "0:00:00.002662", "end": "2022-01-20 04:36:30.224594", "msg": "non-zero return code", "rc": 127, "start": "2022-01-20 04:36:30.221932", "stderr": "/bin/sh: openshift-install: command not found", "stderr_lines": ["/bin/sh: openshift-install: command not found"], "stdout": "", "stdout_lines": []}

openshift-install 可执行文件在 /usr/local/bin 目录下可用,当用户是 root 时可以正常工作。

PATH 也有定义。 PATH=/home/cloud-user/.local/bin:/home/cloud-user/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin

我做错了什么吗?谁能告诉我上述场景的 ansible-playbook 的确切命令?

按照@Zeitounator 的建议,我修改了 /etc/sudoers 文件并更新了 $PATH 变量,解决了上述问题。