Ansible lineinfile和父目录的权限

我正在使用lineinfile来更新configuration文件。 该文件存在, ansible_ssh_user拥有该文件并具有写入权限,但包含的目录由root拥有。 当我的任务运行时,我的错误:

目标目录(/父/目录/名称)不能由当前用户写入。

我可以使用vim手工编辑文件,我的lineinfile任务包括create=no ,所以我不明白为什么Ansible需要向父目录写入权限。 有什么我失踪? 有没有办法允许可以写入文件而不授予它所在目录的权限?

PS – 我真的不想在这个剧本中使用becomesudo ; 它的目的是一个简单的手册,而不必input密码。

使用源码,卢克! 🙂

如果查看lineinfile模块的源代码 ,可以看到它将更改写入临时文件,然后将primefaces文件复制到目标文件名,覆盖旧版本的文件。

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