我有以下两个yml:
---
- hosts: localhost
vars:
- username: test
tasks:
- name: Include User
include: 'user.yml'
become: true
---
- name: Create user '{{ username }}'
user:
name: '{{ username }}'
password: 'password...'
become: true
我收到以下错误消息:
$ ansible-playbook main.yml
fatal: [localhost]: FAILED! => {"changed": false, "module_stderr": "sudo: a password is required\n", "module_stdout": "", "msg": "MODULE FAILURE", "rc": 1}
我不想在执行过程中传递密码。 是否可以在不询问执行者密码的情况下运行脚本?
如果是这样,我如何相应地更改ansible描述符?
Ansible 2.6.1
Ubuntu 18.04 LTS
答案 0 :(得分:0)
您有几种选择
您可以在NOPASSwD
中为您的用户设置/etc/sudoers
,我认为这样不安全
superuser ALL=(ALL) NOPASSWD:ALL
另一种选择是在您的广告资源ansible_sudo_pass
或host_vars
中设置变量group_vars
。您应该为此创建一个保管库,而不是将密码以明文形式存储,以确保安全,但随后必须输入一个保管库密码。