我正在使用 Ansible 2.5.1.,并且我不想-K
一直使用该标志(我认为它很快就会被弃用)。我知道文件become_ask_pass
中有一个指令ansible.cfg
。
我将其设置为 true value i.e. become_ask_pass = True
,但是运行具有该值的 playbook 时true
,给了我一条错误消息,并且 Ansible 没有要求输入密码。
当我将 deprecated ask_sudo_pass
t 设置为真实值时,Ansible 会要求输入密码,但会打印弃用信息。
我尝试安装版本 2.6.4,行为仍然相同。
为什么become_ask_pass
和ask_sudo_pass
, 的工作方式不同?我错过了什么吗?
答案1
我查阅了很多次官方文档才找到解决方案。
ask_sudo_pass
当放置在您的存储库中时,它可以开箱即用ansible.cfg
,因为在一个简单的配置文件中(当您是学徒时,您有一个简单的配置),您可能拥有的唯一部分是[defaults]
.
[defaults]
some_stuff = ...
ask_sudo_pass = True
这有效...因为ask_sudo_pass
应该在该defaults
部分中。但become_ask_pass
应该在该privilege_escalation
部分中,而不是defaults
:
[privilege_escalation]
become_ask_pass = True
请同时注意“Ini 部分”,它与“Ini 值”一样重要。 https://docs.ansible.com/ansible/latest/reference_appendices/config.html。