Fedora11でSELinuxを使ってみた (2.1)
念のため、SUSEのAppArmorで同一のことを行う場合について調べてみたところ、シェルのハードリンクを作成して、それぞれにapparmorのポリシーを作成する方法が紹介されていた。
http://developer.novell.com/wiki/index.php/Apparmor_RBAC_in_version_2.1
ただし、2.3以降(SLES11に対応) では、ユーザーごとにcapability を定義し、rootユーザー権限の一部を与える仕組みも用意しているらしい。
http://developer.novell.com/wiki/index.php/Apparmor_RBAC_in_version_2.3
SELinuxと比べて、AppArmor の方がポリシー変更が容易なので、ポリシー側も含めて、いろいろと作り込める印象だ。一応SELinux側でもハードリンクを使った方法は(もっともAppArmorと違い、ハードリンクは区別されないのだが ... ) 試してみたいところではある。( suのプロファイル書き換えなど、見るからに厳しそうなところではあるが 。。 )
なお、ユーザーごとにcapabilityを定義する方法は、uid=0 を使わないようにする方法として、有効なようだ。これは既存のDACを一部無視しているようでどのように実現しているかが気になるところではある。
なお、2番目のリンクの最後にあったのだが、現在の開発版では、SELinux同様MLSの機能をAppArmor側でも作成中らしく、結局ログファイルの件についてはMLSの階層分けで落ち着くかもしれないので、引き続き確認が必要そうだ。