无法执行";sudo su-“;在Ansible
无法执行";sudo su-“;在Ansible,ansible,ansible-playbook,Ansible,Ansible Playbook,我通常使用以下命令通过ssh到达机器: ssh myuser@192.168.10.1 然后作为“myuser”,我变成了jboss用户,如下所示(无需密码): 我需要用Ansible复制相同的行为,但结果是: fatal: [192.168.10.1] => Missing become password 这是我的yml文件: - name: Hello Ansible - quick start hosts: webservers user: myuser become
我通常使用以下命令通过ssh到达机器:
ssh myuser@192.168.10.1
然后作为“myuser”,我变成了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
根据文件,它似乎是正确的,但它不是。有什么帮助吗?据我所知,这种确切的方法是不可能的 每个主机只能启用一种方法 无法链接方法。您不能使用sudo/bin/su-成为用户, 您需要具有以sudo或be中的用户身份运行命令的权限 能够直接su到它(对于pbrun、pfexec或其他支持的方法也是如此)。
也许“been_method:su”就可以了。谢谢你的回复。我现在无法验证它,尽管我会尽快更新答案
- 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