柔軟なシステム構築が可能なGentoo Linux
TOMOYO LinuxがGentooに入るまでの経緯
ここではTOMOYO LinuxがGentooに入るまでの過程を簡単にまとめてみようと思います。それぞれの段階でのMLアーカイブのURLも書いてありますので、生の雰囲気を感じとってみてください。
もともとは2005年11月、まだTOMOYO Linuxが1.0だったころに、Gentoo開発者の松鵜さんによるebuildファイルがebuildJP(http://ebuild.gentoo.gr.jp/)に登録されていたことがはじまりです。
MLアーカイブのURL:http://sourceforge.jp/projects/tomoyo/lists/archive/users/2005-November/000007.html
しかし、その後あまり更新されず、またebuildJPがうまく動かなくなっていたこともあったため、2007年12月に筆者が申し出て、松鵜さんのebuildをもとに変更を加えてTOMOYO project独自のoverlayを作成しました。
MLアーカイブのURL:http://sourceforge.jp/projects/tomoyo/lists/archive/dev/2008-April/000838.html
その後、2009年1月にGentoo-Hardened用のパッチのリクエストを受けて、ccs_hardened-sourcesをproject独自のoverlayに追加しました。GrsecurityとTOMOYOの機能がぶつかるところもあって難しいパッケージでした。
MLアーカイブのURL:http://sourceforge.jp/projects/tomoyo/lists/archive/users-en/2009-January/000033.html
そして2009年6月、Linuxカーネル2.6.30にTOMOYO Linuxがマージされると聞き、筆者もこのままproject独自のoverlayでは普及しにくいと考えた上で、GentooのオフィシャルoverlayであるsunriseにTOMOYOを入れようと決心しました。
sunrise overlayにパッケージを登録するには、まず Gentooのbugzilla(http://bugs.gentoo.org/)に ebuildを登録します。それから、そのebuildを#gentoo-sunriseなどのirc.freenode.net上のIRCチャンネルでレビューしてもらい、Gentoo開発者からのOKをもらう必要があります。
このレビューというのが難しく、時差と言語の壁もあれば、レビュアーによって少しずつ言うことが違ったりもしています。こうした難点をのりこえてなんとかccs-toolsとccs-sourcesをsunriseに登録できました(図3)。その後、松鵜さんのおかげもあり、それほど時間もかからずに(ccs-toolsは)本家ツリーに入ることができました。
ほかに時差と言語の壁にも耐えながら、なんとかccs-toolsとccs-sourcesをsunriseに登録できました。その時点ではまだ時間がかかるかと思っていましたが、それほどかからずに(ccs-toolsは)本家ツリーに入ることができました。
筆者のTOMOYO Linuxの使いかた
最後に私のTOMOYOの使いかたについて触れようと思います。TOMOYOの本質は「アクセス制御」ですが、それ以外の生かしかたもあります。
まずはデバッグ用途です。対称プログラムを学習モードで走らせ、どのようなファイルにアクセスしているかを見たり、ccs-querydとgdbとを組み合わせて、アクセスしてほしくないファイルにアクセスした時のバックトレースをとったりするところでTOMOYOが活躍しています。デバッグとは少し違いますが、実際にTOMOYO Linuxによって、Fvwm-crystalのスクリーンショット機能がどこに画像を保存するのかを知ることができました。
またRDEPENDを正確に記述する用途もあります。Gentooのebuildには実行時に依存するパッケージを列挙するRDEPENDという部分があり、lddでライブラリを調べて書くことが多いのですが、この方法ではそのパッケージから呼び出されたプログラムは見落とされがちです。そこでTOMOYOの機能を使ってRDEPENDをより正確に記述できるのではないか、と考えています。
このようにいろいろな可能性をひめたTOMOYO Linuxですが、ユーザランドの整備、具体的な使いかたの研究はまだまだ不足していると思います。これからはそういった面でもTOMOYO Linuxを応援していきたいと思っています。