13.3. 使用其它信任源将文件标记为可信

fapolicyd 框架信任 RPM 数据库中包含的文件。您可以通过在 /etc/fapolicyd/fapolicyd.trust 纯文本文件或 /etc/fapolicyd/trust.d/ 目录下添加相应的条目来将额外文件标记为信任的文件,这支持将信任的文件列表分割成多个文件。您可以直接使用文本编辑器或通过 fapolicyd-cli 命令来修改 fapolicyd.trust/etc/fapolicyd/trust.d 中的文件。

注意

由于性能的原因,使用 fapolicyd.trusttrust.d/ 将文件标记为信任的比编写自定义的 fapolicyd 规则要好些。

先决条件

  • fapolicyd 框架部署在您的系统上。

流程

  1. 将自定义二进制文件复制到所需的目录中,例如:

    $ cp /bin/ls /tmp
    $ /tmp/ls
    bash: /tmp/ls: Operation not permitted
  2. 将自定义二进制文件标记为信任的,并将相应的条目添加到 /etc/fapolicyd/trust.d/ 中的 myapp 文件中:

    # fapolicyd-cli --file add /tmp/ls --trust-file myapp
    • 如果您跳过 --trust-file 选项,则之前的命令会将相应的行添加到 /etc/fapolicyd/fapolicyd.trust
    • 要将目录中所有现有的文件标记为信任的,请将目录路径提供为 --file 选项的参数,例如:fapolicyd-cli --file add /tmp/my_bin_dir/ --trust-file myapp
  3. 更新 fapolicyd 数据库:

    # fapolicyd-cli --update
注意

更改信任的文件或目录的内容会改变其校验和,因此 fapolicyd 不再将它们视为信任的。

要使新内容再次被信任,请使用 fapolicyd-cli --file update 命令刷新文件信任数据库。如果没有提供任何参数,则整个数据库都会刷新。或者,您可以指定特定文件或目录的路径。然后,使用 fapolicyd-cli --update 更新数据库。

验证

  1. 检查您的自定义二进制文件现在是否可以执行,例如:

    $ /tmp/ls
    ls

其他资源

  • fapolicyd.trust(13) 手册页。