ユーザーがSELinuxを使用してpingユーティリティのみを*のみ*実行できるようにしたいと思います。

ユーザーがSELinuxを使用してpingユーティリティのみを*のみ*実行できるようにしたいと思います。

私はrbash(制限されたbash)を使ってこれをしましたが、今私はSELinuxを使いたいです。

だから新しいユーザーを作成し、彼をguest_uに追加しました。

semanage login -a -s guest_u restricteduser

私も彼に何かをすることを禁止しました。

setsebool allow_guest_exec_content=0

そして、ここでは彼にping操作のみを実行させる必要があります。

そして何とか彼にネットワーキングを提供しなければなりません。どうすればいいですか?

答え1

allow_guest_exec_contentブール値は、ユーザーがguest_tホームディレクトリまたは一時ディレクトリでファイルを実行できるかどうかを制御します。それ以外の場合、ポリシーで許可されている場合、ユーザーは他の実行可能ファイルを実行し続けることができます。

SELinux 参照ポリシーは、特定のアクセスを許可するインターフェイスを提供します。これらのインターフェイスはSELinuxポリシーにリストされています。文書(あなたのディストリビューションではパッケージとして提供できますselinux-policy-doc)。

ゲストユーザーがpingを使用できるようにするには、次のものを使用できます。netutils_exec_ping相互作用。

次に、次のカスタム戦略用のモジュールを作成します。 my_guest.te:

policy_module(my_guest, 1.0)

gen_require(`
    type guest_t;
    role guest_r;
')

netutils_run_ping(guest_t, guest_r)

以下を使用してコンパイルします。

make -f /usr/share/selinux/devel/Makefile my_guest.pp

許可するネットワークアクセスの種類に応じて、適切なインターフェイスを見つけて同じ方法でmy_guestモジュールを拡張できます。

関連情報