ユーザーと一緒に実行される基本的なシステムサービスを持つGoアプリケーションがありますweb
。 NGiNXはリバースプロキシを介して通信し、同じサーバー上のMySQLデータベースと通信します。 NGiNX および MySQL のポリシーは SELinux を使用して簡単に設定できますが、生涯 SELinux を私のカスタム Go アプリケーションで使用することはできません。
許可拒否エラーが発生しますが、SELinuxを無効にすると、すべてがうまく動作するため、SELinuxであることが確実です。
申し込みについて
- ポート8080を開く
- ポート3306を介してMySQLと会話
私は次を試しましたこれRedHatはカスタムアプリケーションを設定する方法を説明しますが、何らかの理由で私のアプリケーションはスクリプトをunconfined_t
使用したsepolicy
後と常に同じ状態を維持します。
ノート:これはFedora 36サーバーにあります。
ベストアンサー1
いよいよ解決しました。私のカスタムバイナリをタグに追加するだけですbin_t
。私はこのコマンドを使用してsemanage fcontext -a -t bin_t "/path/to/binary"
からrestorecon -v /path/to/binary
。systemctl restart mybinary.service
httpd_sys_content_t
また、同じコマンドを使用して自分のサイトに静的コンテンツを追加し、NGiNXを再読み込みしました。