Ansible设置密码完成播放
Ansible set password for complete play
我正在使用 Ansible 定义许多需要 sudo 权限的任务(用户 运行ning 任务是非 root 用户,是 sudo 组的成员)。为此,我每次定义 become
、become_method
和 become_pass
时都使用以下代码。
# This is a sample task which needs sudo privileges
- name: copy the dnsmasq file
template: src="templates/dnsmasq.conf" dest="/etc/dnsmasq.conf" owner="{{ROOT_USER}}" mode="0644" group="{{ROOT_USER}}"
become: yes
become_method: sudo
become_pass: "{{ remote_user_password }}"
notify: Restart dnsmasq
我想在播放级别 become
、become_method
和 become_pass
设置以下属性。我可以设置成为,become_method 但我得到 ERROR: become_pass is not a legal parameter of an Ansible Play
这当然是有道理的,但是在游戏级别定义密码的属性是什么?
我还尝试在 ansible_hosts 文件(我们定义主机的地方)中使用 ansible_become=yes ansible_become_method=sudo ansible_become_user=MY_NON_ROOT_USER ansible_become_pass=My_PASSWD
进行权限提升,但它仍然不允许任务在没有 sudo 的情况下 运行 并拒绝授予权限。
有没有一种方法可以以非交互方式将剧本的一次性密码定义为 运行,这样我就不必为每个任务定义 become 属性。
我用:
deploy.yml
- name: Todo something
hosts: all
become: yes
become_user: root
become_method: su
当你执行 playbook 时,像额外的变量一样传递密码。
--extra-vars='ansible_become_pass=password'
我正在使用 Ansible 定义许多需要 sudo 权限的任务(用户 运行ning 任务是非 root 用户,是 sudo 组的成员)。为此,我每次定义 become
、become_method
和 become_pass
时都使用以下代码。
# This is a sample task which needs sudo privileges
- name: copy the dnsmasq file
template: src="templates/dnsmasq.conf" dest="/etc/dnsmasq.conf" owner="{{ROOT_USER}}" mode="0644" group="{{ROOT_USER}}"
become: yes
become_method: sudo
become_pass: "{{ remote_user_password }}"
notify: Restart dnsmasq
我想在播放级别 become
、become_method
和 become_pass
设置以下属性。我可以设置成为,become_method 但我得到 ERROR: become_pass is not a legal parameter of an Ansible Play
这当然是有道理的,但是在游戏级别定义密码的属性是什么?
我还尝试在 ansible_hosts 文件(我们定义主机的地方)中使用 ansible_become=yes ansible_become_method=sudo ansible_become_user=MY_NON_ROOT_USER ansible_become_pass=My_PASSWD
进行权限提升,但它仍然不允许任务在没有 sudo 的情况下 运行 并拒绝授予权限。
有没有一种方法可以以非交互方式将剧本的一次性密码定义为 运行,这样我就不必为每个任务定义 become 属性。
我用:
deploy.yml
- name: Todo something
hosts: all
become: yes
become_user: root
become_method: su
当你执行 playbook 时,像额外的变量一样传递密码。
--extra-vars='ansible_become_pass=password'