カスタムアプリケーションがSELinuxを使用できるようにする方法は?

カスタムアプリケーションがSELinuxを使用できるようにする方法は?

ユーザーと一緒に実行される基本的なシステムサービスを持つGoアプリケーションがありますweb。 NGiNXはリバースプロキシを介して通信し、同じサーバー上のMySQLデータベースと通信します。 NGiNX および MySQL のポリシーは SELinux を使用して簡単に設定できますが、生涯 SELinux を私のカスタム Go アプリケーションで使用することはできません。

許可拒否エラーが発生しますが、SELinuxを無効にすると、すべてがうまく動作するため、SELinuxであることが確実です。

申し込みについて

  1. ポート8080を開く
  2. ポート3306を介してMySQLと会話

私は次を試しましたこれRedHatはカスタムアプリケーションを設定する方法を説明しますが、何らかの理由で私のアプリケーションはスクリプトをunconfined_t使用したsepolicy後と常に同じ状態を維持します。

ノート:これはFedora 36サーバーにあります。

ベストアンサー1

いよいよ解決しました。私のカスタムバイナリをタグに追加するだけですbin_t。私はこのコマンドを使用してsemanage fcontext -a -t bin_t "/path/to/binary"からrestorecon -v /path/to/binarysystemctl restart mybinary.service

httpd_sys_content_tまた、同じコマンドを使用して自分のサイトに静的コンテンツを追加し、NGiNXを再読み込みしました。

おすすめ記事