首页 文章

具有sudo访问权限的用户无法从Ansible AWX运行sudo命令,错误“Missing Sudo Password”[关闭]

提问于
浏览
0

我正在通过AWX(Ansible Tower的开源版本)运行Ansible,并且我一直遇到一个错误,用户无法使用任何 become 权限升级命令 . 每当命令在AWX上运行时,都会产生错误,说 Missing sudo password . 我已通过在该用户帐户下运行 sudosu 确认用户帐户 does 具有访问权限 . 当它们手动运行时,它们都可以完美地工作 .

简单地说,我正在寻找一种从AWX内部的Ansible手册运行sudo命令的方法 . 我已验证我使用的帐户具有正确的权限 .

虽然可以直接编辑 /etc/sudoers 文件以允许用户在没有密码的情况下进行sudo,但这不是一种可以在这种情况下工作的解决方案 .

Ansible确实有关于privilege escalation的文档,但正确的选项不适用于AWX . 它使用基于菜单的选项替换了几个命令行标志和选项,谷歌搜索没有透露任何与AWX有相同错误消息的人 .

注意:这不是以下问题的重复,因为这些问题都涉及从命令行运行Ansible,而不是从Ansible Tower或AWX运行它 . 这些问题还假设编辑 /etc/sudoers 文件将适用于所有情况 .

我正在发帖并立即回答这个问题,因为我花了一点时间才弄清楚答案 . 找到文档要比它需要的困难得多,而且它缺少信息,所以我用适当的答案发布这个问题 .

1 回答

  • 1

    你需要configure your credentials correctly in AWX . 为了使用AWX在Ansible playbook中运行sudo命令,您必须指定"Privilege Escalation Method"和"Privilege Escalation Password"字段 . (只有选择方法后才会出现密码字段 . )

    无需在AWX之外存储凭据 . 在Ansible文档may refer you to using a vault中,您无需担心管理剧本中的加密文件 . AWX可以安全地处理凭证 .

    次要说明:

    • 尽管Ansible文档说它会自动默认为 ssh 密码,但AWX要求我设置权限提升密码 .

    • 在我的情况下, ssh 密码与 sudo 密码相同 .

    • sshsudo 密码使用"Prompt on Launch"选项会导致错误,因为您只能填写 ssh 字段 . 我不知道这个bug出现在哪个版本中 .

相关问题