13.3. 信頼ソースを使用して、ファイルを信頼できるとマークします。

fapolicyd フレームワークは、RPM データベースに含まれるファイルを信頼します。対応するエントリーを /etc/fapolicyd/fapolicyd.trust プレーンテキストファイルまたは /etc/fapolicyd/trust.d/ ディレクトリーに追加することにより、追加のファイルを信頼済みとしてマークできます。fapolicyd.trust または /etc/fapolicyd/trust.d 内のファイルは、テキストエディターを直接使用するか、fapolicyd-cli コマンドを使用して変更できます。

注記

fapolicyd.trust または trust.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) man ページ。