【规则解释·安全】风险文件许可权限
本文是 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