我的主机文件为给定的主机定义:
ansible_ssh_user=root
ansible_become_user=my_user
ansible_become=true
在几个任务中,我不想成为 my_user。设置
become: false
没有效果,而 ansible_become: false
导致“错误:ansible_become 不是 Ansible 任务或处理程序中的合法参数”我正在尝试做的可能吗?我假设典型的模式是与我在这里所做的相反,并以 my_user 身份连接,然后使用
become_user: root
如所须?
最佳答案
重写所有内容以反转变成逻辑并不总是可行的。有时您只需要覆盖特定任务的库存成为设置,有一种简单的方法可以做到这一点。而不是设置 become
在任务上,改为设置 var ansible_become
对于任务:
- name: This will run without become
command: whoami
vars:
ansible_become: false
关于ansible - 如何为特定任务覆盖 ansible_become?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37001760/