繁体   English   中英

从非 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它解决了之前遇到的 package 安装的问题。 但是,我收到以下错误:

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 变量,从而解决了上述问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM