无法在Ansible中执行“sudo su - ”

时间:2016-07-05 14:28:55

标签: ansible ansible-playbook


我通常使用以下命令通过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

根据文件似乎是正确的,但事实并非如此。有什么帮助吗?

1 个答案:

答案 0 :(得分:1)

据我了解文档,这种确切的方法是不可能的。

  

每个主机只能启用一种方法

     

方法无法链接。你不能使用sudo / bin / su - 成为用户,   您需要具有在sudo或be中以该用户身份运行命令的权限   能够直接su(对于pbrun,pfexec或其他支持的方法相同)。   docs

也许" become_method:su"会做的。