Ansible 复制模块失败

Ansible Copy Module Fails

我正在尝试将 "resolve.conf" 文件从一台机器复制到另一台机器并覆盖旧机器。此操作适用于 40 多台服务器中的 4 台以外的所有服务器...我收到错误消息,它无法替换文件,因为它是不允许的。操作失败相关的Playbook内容我贴在下面

- hosts: all
  remote_user: root

...

  - name: Copy over the updated DNS configuration file
    copy: src=/etc/resolv.conf dest=/etc/resolv.conf

它为所有 4 个服务器提供以下错误消息。

fatal: [server-name]: FAILED! => {"changed": false, "checksum": "9925f1a81f849f373f860c3156d19edcd1c002f2", "failed": true, "msg": "Could not replace file: /root/.ansible/tmp/ansible-tmp-1469481567.72-275811900408782/source to /etc/resolv.conf: [Errno 1] Operation not permitted"}

我只是不明白可能是什么问题,因为我以 root 用户身份访问机器,并且 Playbook 在大多数服务器上都成功 - 许多服务器具有完全相同的配置和设置。例如,它在服务器 "server-analytical1" 上成功,但在服务器 "server-analytical2" 上失败。那么,有没有人知道为什么 Playbook 只会在少数服务器上失败,即使它们与其他成功的服务器相似或相同?

是否在目标文件上设置了不可变位?如果是,请尝试 lsattr /etc/resolv.confchattr -i /etc/resolv.conf 取消设置。