【发布时间】:2021-08-06 22:50:32
【问题描述】:
我经常对以下问题感到困惑。
我尝试使用 async 功能启动一个进程(这里只是一个愚蠢的 java 版本)。
我使用我的用户运行 ansible-playbook,该用户在 docker 主机中有一个远程帐户作为 sudoer。我想启动命令的另一个帐户是 toto
所以我写了这个
- name: test escalation
shell: id ; echo "shell says toto"
become: true
become_user: "toto"
tags:
- escalation
vars:
ansible_ssh_pipelining: true
- name: java escalation
shell:
cmd: "/data/tools/java/jdk8u232-b09/bin/java -version &"
async: 10
# Don't wait
poll: 0
become: true
become_user: "toto"
tags:
- escalation
vars:
ansible_ssh_pipelining: true
如果我运行这个,我有
TASK [java 升级] ****************************************** ****************************************************** ****************** 致命的:[主要]:失败! => {"msg": "无法设置 Ansible 成为非特权用户时需要创建的临时文件的权限 (rc: 1, err: chown: 更改 '/var/tmp/ansible-tmp-1587484730.23-27264 的所有权-164045960304097/':不允许操作\nchown:更改'/var/tmp/ansible-tmp-1587484730.23-27264-164045960304097/AnsiballZ_command.py'的所有权:不允许操作\nchown:更改'/var/tmp/的所有权ansible-tmp-1587484730.23-27264-164045960304097/async_wrapper.py':不允许操作\n})。有关解决此问题的信息,请参阅https://docs.ansible.com/ansible/become.html#becoming-an-unprivileged-user"}
有人遇到过同样的问题吗?
ansible --version ansible 2.9.7
【问题讨论】:
-
我也有同样的问题,只是与异步结合使用。顺便说一句,我在 2.9.4 上,但在 2.9.7 中,正如你所说,它也不起作用。
标签: ansible