在 Ansible 中删除目录时权限被拒绝

Permission denied when deleting directory in Ansible

我有一个任务只是在用户 'foo' 的主目录中创建目录,如下所示:

---
- name: Create bar directory
  become: yes
  become_user: foo
  file:
    path: "/home/foo/bar"
    state: directory
    owner: foo
    group: foo
    mode: 755

这工作正常,但是当我尝试 运行 任务删除上述任务创建的目录时,出现以下错误:

TASK: [a task | Create bar directory]


failed: [192.168.50.4] => {"failed": true} msg: rmtree failed: [Errno 13] Permission denied: '/home/foo/bar'

FATAL: all hosts have already failed -- aborting

下面是删除任务

---
- name: Create bar directory
  become: yes
  become_user: foo
  file:
    path: "/home/foo/bar"
    state: absent

我确认创建的目录归 'foo' 所有,因此该目录应该可以被 'foo' 删除。为什么我会收到权限被拒绝的错误?

虽然该目录归正确的用户所有,但我意识到该目录的权限设置不正确,即 drwxr-xr-x。 问题是 mode: 755,这似乎根本不是问题。但是我需要在 755 之前添加 0 以使其按预期工作。 Example in official document