[英]Change linux password with Ansible playbook script when connecting as a non-root user without sudo privileges
[英]`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.