我的loginuser是user1,我想用root执行playbook.我怎样才能做到这一点.如果我在cmdline中使用它不会像这样工作
ansible-playbook main.yaml -i hosts --user=git -k --become-user=root --ask-become-pass --become-method=su
Run Code Online (Sandbox Code Playgroud)
请告诉我如何实现这一点.
name: Install and Configure IEM
hosts: rhel
ansible_become: yes
ansible_become_method: su
ansible_become_user: root
ansible_become_pass: passw0rd
tasks:
- name: Creating masthead file path
file: path=/etc/opt/BESClient state=directory
- name: Creating install directory
Run Code Online (Sandbox Code Playgroud)
Rau*_*ugo 23
我用 :
deploy.yml
- name: Todo something
hosts: all
become: yes
become_user: root
become_method: su
Run Code Online (Sandbox Code Playgroud)
当您执行playbook时,将密码作为额外的var传递.
--extra-vars='ansible_become_pass=password'
Run Code Online (Sandbox Code Playgroud)
来自Ansible 文档:
become_user和become_user;ansible_become_user,ansible_become_user等。这就是为什么您在问题中给出的剧本不起作用:它使用了清单中使用的变量名称。