欲しいヌバ私のDebianサーバーでSELinux適用モードで実行しています。 Numbaの基盤は次のとおりです。LLVMs jit コンパイラ。問題は、LLVMが書き込み可能で実行可能なメモリに固執することです。 ㅏエラーレポート長い間待ってきましたが、解決策は見えません。
allow_execmem
SELinuxには、LLVMの実行を許可するようにシステム全体で設定できるブール変数があります。しかし、このような不安全な環境を持ってしたくありません。
私が望むのは、この一連の権限で特定の種類のプログラムを実行するための別のブール変数を作成するか、いくつかの実行可能ファイルに同じ権限を付与するファイルコンテキストを生成することです。新しいブールを生成することはhttpd_execmem
。
私が見ることができるのは、ファイルレベルで設定できる権限のセットが制限されていることです。
#ls/sys/fs/selinux/class/file/perms エントリポイントexecmod実行を生成するためにaudit_accessを追加します。 Execute_no_trans getattr ioctl リンクロックマウントを開く quoteonを読むrelabelからrelabelから名前を変更するsetattr swapon リンクの書き込みキャンセル
したがって、このコンテンツが正しく表示される場合は、単にタイプを作成して特定のユーザーの権限を追加するだけでは機能しません。これを行う直接的な方法はありますか?新しいブール値を生成するにはどうすればよいですかhttpd_execmem
?
ベストアンサー1
動作しているように見えるのは、次の独自のモジュールを作成することです。
module llvm 1.0;
require {
class process { execmem };
};
type llvm_t;
allow llvm_t self:process execmem;
残念ながら、ホームディレクトリのファイルはecryptfsマウントに含まれているため、そのファイルにはどの種類も設定できないことがわかりました。そのため、最終的に無制限のドメイン全体をexecmemで使用できるようになりました。これは私が望むものよりも許容可能ですが、システム内のすべてのプロセスを実行できるようにするよりもはるかに優れています。
module llvm 1.0;
require {
type unconfined_t;
class process { execmem };
};
allow unconfined_t self:process execmem;