2007年10月20日

[selinux-users:02028] Re: Default Linux Capabilities とはどういうものですか?

詳しい説明ありがとうございます。

07/10/20 に KaiGai Kohei<kaigai@xxxxx> さんは書きました:
> Default Linux Capabilities のモジュールは、その各ビットを操作し、
> 一部の特権だけを利用できるようにするものです。
> ...
> もし、Default Linux Capabilities を無効化した場合、伝統的 UNIX の
> 慣例にしたがって、euid=0 は全ての特権を、そうでない人には全く

> 特権は無しという前提でシステムは動作します。
> ただ、Capabilitiesの設定が可能であっても、それを利用して動いている
> プログラムというのはほぼ皆無ですので、外しても問題ないかと言われれば、
> 『問題になるようなケースは想定しがたい』という感じでしょうか。

なるほど。そういうものでしたか。
これで外すときは納得して外せます。

> > それから、LSMにはプライマリとセカンダリがあって、
> > 両方埋まるともう他のLSMをロードできないようですが、
> > 2個まではOKで3個以上は無理ということなんでしょうか?
>
> いえ、これは LSM ではなく SELinux の機能です。
> Capabilities の機能が LSM の上に乗っている都合上、SELinux を有効化すると
> Capabilities が使えない…というのはまずいので、SELinux側で Default Linux
> Capabilities のモジュールをロードして、capabilities 関連のフックが呼ばれた
> 時に、セカンダリを呼び出すという仕組みになっています。

まだよくわかりません‥。
複数のLSMを同時に動かせるものだと思っていましたが、
そうではなく、SELinuxと一緒ならもうひとつだけ動かせる、ということでしょうか?

それから、SELinuxはCapabilitiesを特別扱いしているということでしょうか?
Capabilitiesを無効にしていれば、SELinuxを有効にしていても、
セカンダリとして他の(Capabilities以外の)LSMをロードできるので、
Capabilitiesが特別のようには見えないのですが。
(といっても、ロードできても動くかどうかは別のようですが‥。)

私が今やっていることは、
カーネル2.6.8.1用の BSD Jail LSM http://kerneltrap.org/node/3823) を
カーネル2.6.22.9用に修正してみた http://humming.dip.jp/~tyatsumi/bsdjail/)ところです。
(まだ不完全ですが。)
SELinuxを無効にしていれば、BSD Jailはロードできて、期待どおりの動作をしました。
SELinuxが有効で、Capabilitiesも有効だと、BSD Jailはロードできませんでした。
SELinuxが有効で、Capabilitiesが無効だと、BSD Jailはロードはできますが、
動かすとsegfaultやら色々出て動きません。

SELinuxと一緒にロードすると動かないのが今のBSD Jailに問題があるためなのか、
そもそもSELinuxと一緒に動かすことができるLSMが限られているのか、
というあたりが知りたいです。

よろしくお願いします。

投稿者 xml-rpc : 2007年10月20日 17:55
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/65465
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。