首页 > 解决方案 > Ansible - 以非root用户身份执行任务不起作用

问题描述

我在使用 Ansible 执行具有“成为”功能的任务时遇到了问题。我在 Red Hat OS 上使用 Ansible 2.9 并尝试执行我的剧本以在 AIX 服务器上执行操作。

我使用我的个人帐户登录 AIX 服务器,该帐户没有 root 权限,我可以切换到具有 root 权限的用户:

sudo su - foo

我无需提供任何密码即可切换到该用户。在我的 Ansible 剧本中,我有这个任务,它只是将文件复制到目标:

tasks:
    - name: Copy a file to targeted server
      become: yes
      become_user: foo
      copy:
        src: test.txt
        dest: /tmp/test_ok.txt
        owner: root
        group: system
        mode: u=rw,g=r,o=r

Ansible 以错误响应:

fatal: [up0bd101]: FAILED! => {
    "msg": "Missing sudo password"
}

在 Ansible 主机文件中,我使用我的个人凭据来执行与 AIX 服务器的连接。

你知道为什么 Ansible 需要密码(我不知道)才能执行任务,当我当前登录 AIX 服务器时不需要提供密码并且我想切换到用户'foo'?

我将不胜感激任何建议。谢谢你。

标签: pythonansibleredhataix

解决方案


推荐阅读