无法使用Ansible成为受限制的sudoer用户

时间:2019-10-31 13:41:28

标签: shell ansible sudo

在我的服务器上,我有一个sudoer用户,只能在无密码模式下运行chown。

所以,当我运行

  sudo chown mytargetuser:mytargetgroup /my/path

有效。但是,当我尝试在Ansible剧本中执行相同操作时:

  tasks:
  - name: change folder ownership
    become: yes
    become_user: root
    become_method: sudo
    file:
      path: "/my/path"
      owner: mytargetuser
      group: mytargetgroup 

Ansible返回此错误:

 FAILED! => {"changed": false, "module_stderr": "", "module_stdout": "sudo: a password is required\r\n", "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error", "rc": 1}

当直接使用shell模块也可以工作时:

  - name: test via script
    shell : sudo chown mytargetuser:mytargetgroup /my/path

是否有一种整合的方式将这种行为包含在剧本中,还是我应该使用shell插件保留最后一个解决方案?

此致

克里斯托夫

1 个答案:

答案 0 :(得分:0)

在执行剧本命令后输入-K作为密码。

例如,> ansible-playbook sample.yml -K