我正在通过 AWX(Ansible Tower 的开源版本)运行 Ansible,并且一直遇到用户无法使用任何become
权限提升命令的错误。每当在 AWX 上运行命令时,它都会产生错误提示Missing sudo password
。我已通过在该用户帐户下运行两者来确认该用户帐户确实具有访问权限。当它们手动运行时,它们都可以完美地工作。sudo
su
简而言之,我正在寻找一种在 AWX 中从 Ansible 剧本运行 sudo 命令的方法。我已验证我使用的帐户具有正确的权限。
虽然可以直接编辑/etc/sudoers
文件以允许用户在没有密码的情况下使用 sudo,但这不是一种适用于这种情况的解决方案。
Ansible 确实有关于privilege escalation的文档,但正确的选项不能通过 AWX 工作。它用基于菜单的选项替换了几个命令行标志和选项,并且谷歌搜索没有发现任何其他与 AWX 有相同错误消息的人。
注意:这不是以下问题的重复,因为这些问题都涉及从命令行运行 Ansible,而不是从 Ansible Tower 或 AWX 运行它。这些问题还假设编辑/etc/sudoers
文件适用于所有情况。
我正在发布并立即回答这个问题,因为我花了一点时间才弄清楚答案。查找文档比它需要的要困难得多,而且它缺少信息,所以我发布了这个带有适当答案的问题。