Pythonスクリプトが「すべてのタスク」を実行できるようにSELinuxに指示する方法

Pythonスクリプトが「すべてのタスク」を実行できるようにSELinuxに指示する方法

私はSELinuxに初めて触れましたが、これにより頭痛が発生しました。私のホームディレクトリ(my_script.py)でPythonスクリプトを実行するPythonサービスがあります。私はサービスを実行してSELinuxがブロックする側面を確認し、新しいSElinuxモジュールを追加しました。

    allow this access for now by executing:
# ausearch -c 'my_script.py' --raw | audit2allow -M my_script
# semodule -X 300 -i my_script.pp

ただし、新しいモジュールを追加するたびに、スクリプトの他の側面(ファイルの読み取り、ファイルの書き込み、ソケットの読み取りなど)がブロックされます。現在、約10個のモジュールがあるようですが、すべて追跡するのに苦労しています。また、私のスクリプトはSELinuxが気に入らないことを行うことができますが、テスト中に表示されないのではないかと心配しています。 SELinuxにmy_script.pyに必要な操作(読み取り、書き込み、名前変更など)を実行させる方法はありますか? SELinuxを無効にしようとしましたが、実際には望んでいませんでした。ありがとうございます!

答え1

そうそうできます。独自のSELinuxドメイン(mypythonapp_t)を作成してドメインを作成しますpermissive。ライセンスに属するラベル付きファイルフィールドすべてのことができるため、SELinux の適用から除外されます。残りのシステムが SELinux で保護されている間、アプリケーションを緩やかに実行できます。

バラよりhttps://selinuxproject.org/page/PermissiveDomainRecipehttps://danwalsh.livejournal.com/24537.html。独自の戦略を策定する方法に関する優れたガイドについては、以下をご覧ください。https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/using_selinux/writing-a-custom-selinux-policy_using-selinux

関連情報