Ansible无法复制文件。可能是权限

Ansible无法复制文件。可能是权限,ansible,proxmox,Ansible,Proxmox,我想用Ansible将新证书复制到ProxBox。 我的设置 .ssh/config已修改,因此ssh机器将使用root用户登录 scp/Users/dir/key.pem/etc/pve/nodes/machine/pve ssl.key工作正常 问题 Ansible失败了。我在最新的macbook上运行这个。ansible——版本为ansible 2.2.1.0 machine.yml - hosts: machines vars: ca_dir: /Users/dir/

我想用Ansible将新证书复制到ProxBox。

我的设置
.ssh/config
已修改,因此
ssh机器将使用root用户登录

scp/Users/dir/key.pem/etc/pve/nodes/machine/pve ssl.key
工作正常

问题 Ansible失败了。我在最新的macbook上运行这个。ansible——版本为
ansible 2.2.1.0

machine.yml

- hosts: machines
  vars:
    ca_dir: /Users/dir/

  - name: copy a pve-ssl.key
    copy:
      src="{{ ca_dir }}/key.pem"
      dest=/etc/pve/nodes/machine/pve-ssl.key
权限? 这很好:

- hosts: machines
  vars:
    ca_dir: /Users/dir/

  - name: copy a pve-ssl.key
    copy:
      src="{{ ca_dir }}/key.pem"
      dest=/root/pve-ssl.key
所以这是一个权限问题,但为什么呢。Ansible正在使用root-
Ansible machine-mshell-a“who”
进入我的机器

可能与组权限有关,因为

$ ls -la /etc/pve/nodes/machine/
drwxr-xr-x 2 root www-data    0 Feb 26 01:35 .
[...]
$ ls -la /root
drwx------  5 root root  4096 Feb 26 12:09 .
[...]
如何使用ansible复制文件?

  • 如果问题是“问题是什么?”那么答案是:

    这是因为
    /dev/fuse
    文件系统安装在
    /etc/pve
    上(Ansible无法将文件从
    /tmp
    移动到
    /etc/pve
    的分支,就像简单的
    mv/tmp/file/etc/pve
    命令失败一样)

  • 如果问题是“如何处理问题?”那么:

    使用Ansible将文件复制到别处(
    /home/user
    ),然后使用ProxBox上的命令模块复制文件并删除原件


您也可以先触摸文件,然后复制它:

- name: touch empty file
  file:
    path: /etc/pve/nodes/machine/pve-ssl.key
    state: touch

- name: copy a pve-ssl.key
        copy:
          src: "{{ ca_dir }}/key.pem"
          dest: /etc/pve/nodes/machine/pve-ssl.key

问题是如何解决这个问题。我想这并不明显。我会解决它的。谢谢你的解释和易于复制的例子。