使用 Ansible find 和 file 一起设置权限

Using Ansible find and file together to set permissions

我正在尝试为单个目录中的所有“*.key”文件设置权限。我想一起使用 "find" 和 "files" 但不知道如何处理查找结果。

- find:
    paths: "/etc/nginx/ssl"
    patterns: "*.key"

# not sure how to do this
- files: group=ssl-cert mode=640 

如何让这两个命令协同工作?

提前致谢, 特拉维斯

下面是@helloV 最后的代码:

 - name: list private key files
   find:
     paths: "/etc/nginx/ssl"
     patterns: "*.key"
   register: keys

 - name: set private key permissions
   file: path="{{item.path}}" group=ssl-cert mode=640
   with_items: "{{keys.files}}"

注册find的输出,然后打印它,这样你就知道find到底返回了什么。您会发现输出中有一个对象 files,其中包含有关所有文件的信息。您必须遍历它并从每个文件中提取 path 。未经测试的代码:

  tasks:
  - find:
      paths: "/etc/nginx/ssl"
      patterns: "*.key"
    register: keys
  #- debug: var=keys

  - file: path="{{item.path}}" group=ssl-cert mode=640
    with_items: keys.files