【规则解释·安全】风险文件许可权限

本文是 Ansible lint Advent Calendar 2022 的第17篇文章。

本次将说明有关“风险文件权限”的规则。

危险文件权限

在包含创建文件和目录的模块中,验证文件和目录的创建是否安全。

以下是包含创建文件或目录处理的模块(可能还有其他模块)。

    • ansible.builtin.assemble

 

    • ansible.builtin.copy

 

    • ansible.builtin.file

 

    • ansible.builtin.get_url

 

    • ansible.builtin.replace

 

    • ansible.builtin.template

 

    • community.general.archive

 

    community.general.ini_file

有问题的代码

---
- name: Unsafe example of using ini_file
  community.general.ini_file:
    path: foo
    create: true
    mode: preserve

修正后的代码之一

例如,在community.general.ini_file中,create键的初始设置为true。这意味着如果目标文件不存在,将创建该文件。

---
- name: Safe example of using ini_file (1st solution)
  community.general.ini_file:
    path: foo
    create: false  # falseを設定して新規にファイルを作成しないようにする
    mode: preserve

修正后的代码2.

将权限信息附加到创建的文件中。

---
- name: Safe example of using ini_file (2nd solution)
  community.general.ini_file:
    path: foo
    mode: 0600  # パーミッションを設定しファイルのどのような権限でファイルが作成されるか明示する
    mode: preserve

请查看以下网站

    risky-file-permissions — Ansible Lint Documentation
广告
将在 10 秒后关闭
bannerAds