我通常使用以下命令通过ssh到达机器:
ssh myuser@192.168.10.1
然后作为“myuser”我成为用户jboss如下(没有密码请求):
$ sudo su - jboss
我需要使用Ansible复制相同的行为,但结果是:
fatal: [192.168.10.1] => Missing become password
这是我的yml文件:
- name: Hello Ansible - quick start
hosts: webservers
user: myuser
become: true
become_method: sudo
become_user: jboss
tasks:
- name: Hello server
shell: /home/jboss/script.sh
根据文件似乎是正确的,但事实并非如此。有什么帮助吗?
答案 0 :(得分:1)
据我了解文档,这种确切的方法是不可能的。
每个主机只能启用一种方法
方法无法链接。你不能使用sudo / bin / su - 成为用户, 您需要具有在sudo或be中以该用户身份运行命令的权限 能够直接su(对于pbrun,pfexec或其他支持的方法相同)。 docs
也许" become_method:su"会做的。