我在 virtualbox 中设置了一个 Ubuntu 14.04 虚拟机,我正在尝试按照这些说明进行操作。
https://serversforhackers.com/an-ansible-tutorial
当我进入模块部分并尝试使用此命令安装 nginx 时,在 /etc/ansible/hosts 中将“local”设置为“localhost”
ansible local -s -m shell -a 'apt-get install nginx'
我收到以下错误:
localhost | FAILED => Missing become password
我已经在谷歌上搜索了解决这个问题的方法,但我不明白我做错了什么。
这是服务器操作系统的全新安装,唯一的设置就在本教程中完成。
答案1
问题与 sudo 有关。其中/etc/ansible/ansible.cfg
有一个注释掉的设置ask_sudo_pass
,需要将其取消注释并设置为。或者,您可以设置用户所属的组,以便无需密码Yes
即可使用,但我认为这存在安全风险。sudo
答案2
Ansible 1.9 中引入了一个错误,可能是原因: ansible.cfg 中的 ask_sudo_pass 无效 #10891
答案3
设置以下参数可以ansible.cfg
让我输入 sudo 密码
ask_sudo_pass= true