Ansible lineinfile 和父目录的权限

Ansible lineinfile 和父目录的权限

我正在使用lineinfile更新配置文件。该文件存在,并且ansible_ssh_user拥有它并具有写入权限,但包含它的目录归 拥有root。当我的任务运行时,我出现错误:

目标目录 (/parent/directory/name) 不可由当前用户写入。

我可以使用 手动编辑文件vim,并且我的lineinfile任务包括create=no,所以我不明白为什么 Ansible 需要对父目录的写入权限。我遗漏了什么吗?有没有办法允许 ansible 将 写入文件而不授予其所在目录的权限?

PS-我真的不想使用becomesudo与这个剧本一起使用;它旨在成为一本无需输入密码的简单剧本。

答案1

使用来源,卢克!:)

如果你看看来源对于lineinfile模块,您可以看到它将更改写入临时文件,然后执行原子文件复制到目标文件名,覆盖文件的旧版本。

您正在运行 ansible 的用户将需要对父目录具有写权限。

相关内容