私にとっての答えは、ポリシーモジュールを作成して、SELinux を無効にせずに wkhtmltopdf を実行できるようにすることでした。
sudo su -
(次のステップを簡単にするために root として実行します)
tail -F /var/log/audit.log | grep wkhtml > wkhtml.audit
(これを実行したままにして、次のステップに進みます)
- PDF を作成しようとする Web ページを読み込もうとすると、以前と同様に失敗しますが、現在はログに記録されています。
- CTRL+C でステップ 2 からプロセスを停止します(急いでいる場合は 7 にスキップできますが、selinux の例外を永続化する前に、これらのレビュー ステップを使用することを強くお勧めします!)
cat wkhtml.audit | audit2allow -m
wkhtmltopdf > wkhtmltopdf.te
- wkhtmltopdf.te ファイルを見直して、新しいルールが適切であることを確認してください。セットアップによっては、「allow httpd_t self:process execmem」と「allow httpd_t var_t:file read」が表示される可能性があります。
cat wkhtml.audit | audit2allow -M
wkhtmltopdf
semodule -i wkhtmltopdf.pp
(1 分ほどかかる場合があります。しばらくお待ちください)
これで、pdf 作成ページをエラーなしでロードできるはずです。そうでない場合は、1 つの問題を修正して別の問題に到達した可能性があります。手順を繰り返す必要があるかもしれません。今回は wkhtml.audit2 にテールを付け、新しいモジュールを作成するときにオリジナルと一緒に cat します (そうしないと、最初の修正を取り消すことになります!):
tail -F ... > wkhtml.audit2
audit2 が空の場合、selinux 以外の問題があります。それ以外は:
cat wkhtml.audit wkhtml.audit2 | audit2allow ...