首页 > 解决方案 > 如何通过ansible检查多个目录中的777权限

问题描述

对于单个目录,我的脚本运行良好,但是如何检查多个目录的相同?

单个目录的代码:

---
- name: checking directory permission
  hosts: test
  become: true
  tasks:
    - name: Getting permission to registered var 'p'
      stat:
        path: /var/SP/Shared/
      register: p
    - debug:
        msg: "permission is 777 for /var/SP/Shared/
      when: p.stat.mode  == "0777" or p.stat.mode == "2777" or p.stat.mode == "4777"

标签: directoryansiblepermissions

解决方案


读取stat_module表明没有用于递归的参数。测试with_fileglob:没有给出预期的结果。

因此,您似乎需要以类似的方式遍历目录

- name: Get directory permissions
  stat:
    path: "{{ item }}"
  register: result
  with_items:
    - "/tmp/example"
    - "/tmp/test"
  tags: CIS

- name: result
  debug:
    msg:
      - "{{ result }}"
  tags: CIS

但我相信仍然可以找到更高级的解决方案。


推荐阅读