我需要将一个文件(在这种情况下为munge密钥)从一个控制节点复制到多个从节点,并且我想使用ansible副本来复制。问题在于该文件必须由munge用户拥有,并且具有所有者只读权限'0400'。它所在的目录必须归munge所有,并具有权限'0700'。
下面的ansible任务结构适用于具有更大许可'0644'权限的其他文件,甚至成功设置了所有者/组/权限,但此文件失败:
- name: Copy munge key
copy:
src: /etc/munge/munge.key
dest: /etc/munge/munge.key
owner: munge
group: munge
mode: '0400'
是否有办法在本地和远程'成为root或munge'来复制文件?还是对此问题有另一种简单的解决方案?
编辑:
我已经尝试过become: yes
,become_user: root
和become_user: munge
。两者都不起作用。每次都会失败,并显示错误"Could not find or access '/etc/munge/munge.key'"
。该文件在那里,但是/ etc / munge和/etc/munge/munge.key都仅对munge用户具有权限。
编辑2:
我讨厌的长期解决方案包括五个任务,这些任务1.释放对源文件和目录的权限; 2.释放对远程文件和目录的权限; 3.复制文件; 4.锁定远程文件和目录权限; 5.锁定原始源文件和目录。这种方法有效,但是我仍然对何时“确切地”生效仅在源节点上还是在远程节点上生效以及如何导致我的单步复制失败感到困惑。
我需要将一个文件(在这种情况下为munge密钥)从一个控制节点复制到多个从节点,并且我想使用ansible副本来复制。问题在于该文件必须由munge用户拥有...
添加: