Ansible无法复制文件。可能是权限
我想用Ansible将新证书复制到ProxBox。 我的设置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/
.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
问题是如何解决这个问题。我想这并不明显。我会解决它的。谢谢你的解释和易于复制的例子。