tomoyotitle.png

Chapter 3: どうすれば TOMOYO Linux をインストールできますか?

3.1. カーネルのインストール

3.1.1. 既に TOMOYO Linux 対応カーネルであるかどうか判断する

TOMOYO Linux 2.3 はメインラインカーネルのソースに既に含まれていますが、特定のカーネルコンフィグオプションを有効にしないと利用できません。以下の手順により利用中のカーネルで TOMOYO Linux を利用できるかどうかを判断することができます。

$ grep tomoyo_supervisor /proc/kallsyms
ffffffff8115e460 T tomoyo_supervisor

/proc/kallsyms の中に tomoyo_supervisor を含む行が存在していた場合、既に TOMOYO Linux 対応カーネルですので、3.2. 管理ツールのインストールへと進んでください。

存在しない場合、 TOMOYO Linux 対応カーネルを作成する必要がありますので、以下の手順に従ってインストールしてください。

ただし、カーネルのコンパイルをせずに TOMOYO Linux の機能の主要部分を使いたい場合には、 AKARI というカーネルモジュールを利用することができます。このモジュールは TOMOYO 2.x よりも豊富な機能を提供していますが、 TOMOYO 1.x の機能の一部は使えません。「カーネルがどのようなコンパイルオプションでコンパイルされたか」と「CPUアーキテクチャ」に依存するという制限がありますが、カーネル 2.6.0 以降の全てのバージョンに対応しており、簡単に利用できます。 機能比較表で AKARI と TOMOYO 1.x と TOMOYO 2.x の違いについて詳細に説明されています。もし、 AKARI を使うのであれば、 AKARI のウェブサイトへと移動してください。

もし、 TOMOYO 2.x を使うつもりであり、 TOMOYO 2.5 を使いたくない理由が無いのであれば、 TOMOYO 2.5 を利用することを推奨します。 TOMOYO 2.5 はより強力で使いやすいものになっています。

3.1.2. 依存するパッケージのインストール

カーネルと管理ツールをコンパイルするために以下のパッケージが必要になります:

これらのパッケージは以下のコマンドを実行することでインストールできます:

RedHat 系の場合

# yum -y install wget patch gcc make ncurses-devel

Debian 系の場合

# apt-get -y install wget patch gcc make libncurses-dev

SUSE 系の場合

# yast -i wget patch gcc make ncurses-devel

3.1.3. カーネルソースの入手

カーネルのソースを "linux-2.6" または "linux-3.0" からダウンロードして展開してください。
カーネル 2.6.36 ~ 3.0 に対応しています。

カーネルのソースを展開して、そのディレクトリに移動してください。

メインラインのカーネルのソースに反映することが間に合わなかった不具合修正パッチがあるかもしれません。利用するカーネルのバージョンに合った全ての不具合修正パッチ(例えば 2.6.39 カーネルの場合には 2.6.39-tomoyo-\*.patch )を https://tomoyo.sourceforge.net/2.3/patches/ からダウンロードして、カーネルのソースコードを展開したディレクトリから以下のコマンドを実行してください。(以下のコマンドは、適用済みのパッチがあればスキップします。)

$ for i in 2.6.*-tomoyo-*.patch; do patch -Nt -p1 --dry-run < $i && patch -p1 < $i; done

3.1.4. カーネルコンパイルオプションの設定

$ make -s menuconfig

Security options の画面に移動して、以下のオプションを選択してください。( Default security module として TOMOYO を指定するかどうかは任意です。)

[*] Enable different security models
-*- Enable the securityfs filesystem
-*- Security hooks for pathname based access control
[*] TOMOYO Linux Support
    Default security module (TOMOYO)

3.1.5. カーネルのコンパイルおよびインストール

カーネルコンパイルオプションの変更が終わったら、以下のコマンドを実行してカーネルをコンパイルしてください:

$ make -s
$ su
# make -s modules_install install

必要であれば initrd/initramfs を作成してください。

3.2. 管理ツールのインストール

3.2.1. バイナリパッケージが提供されているかどうか判断する

tomoyo-tools あるいは tomoyotools というパッケージが提供されており、そのバージョンが 2.3 である場合、それを利用することができます。インストールして 3.3. 設定の初期化へと進んでください。

3.2.2. ツールをソースからコンパイルする

前述した依存するパッケージがインストールされていることを確認してください。以下のコマンドを実行することによりコンパイルおよびインストールできます。

# wget https://sourceforge.net/projects/tomoyo/files/tomoyo-tools/2.3/tomoyo-tools-2.3.0-20120414.tar.gz
# wget https://sourceforge.net/projects/tomoyo/files/tomoyo-tools/2.3/tomoyo-tools-2.3.0-20120414.tar.gz.asc
# wget https://tomoyo.sourceforge.net/kumaneko-key
# gpg --import kumaneko-key
# gpg tomoyo-tools-2.3.0-20120414.tar.gz.asc
# tar -zxf tomoyo-tools-2.3.0-20120414.tar.gz
# make -C tomoyo-tools/ install

3.3. 設定の初期化

管理ツールを実行するときに便利なように、管理ツールのインストールされているディレクトリ( /usr/sbin )を環境変数 PATH に追加したいと思うかもしれません。 /bin/bash を使用している場合、以下の行を ~/.bashrc に追加してください:

export PATH=$PATH:/usr/sbin

TOMOYO Linux を使うためには、初期設定の手順を行う必要があります。この手順により、ポリシーを保存するディレクトリが作成されます。全てのポリシーファイルは /etc/tomoyo/ ディレクトリに保存されます

/usr/lib/tomoyo/init_policy を実行することで、以下のような出力が表示される筈です:

# /usr/lib/tomoyo/init_policy
Creating policy directory... OK
Creating exception policy... OK
Creating domain policy... OK
Creating manager policy... OK
Creating default profile... OK
Creating memory quota policy... OK

なお、 TOMOYO 2.2 用のポリシーと TOMOYO 2.3 用のポリシーとの間には互換性がありません。既に TOMOYO 2.2 用のポリシーを策定済みであっても、 /etc/tomoyo/ ディレクトリを削除(またはリネーム)してから上記のコマンドを実行する必要があります。さもないと、起動時にカーネルパニックに遭遇します。

3.4. ブートローダの設定

前述の手順でインストールされたカーネルをブートローダ(例えば GRUB など)から選択できるように、ブートローダの設定を行ってください。もし、カーネルコンフィグで CONFIG_DEFAULT_SECURITY_TOMOYO=y という指定が行われていない場合、 security=tomoyo という指定をカーネル起動時のコマンドラインオプションに含めることを忘れないでください。ディストリビューションにより、ブートローダの設定ファイルの場所が異なります。 GRUB バージョン1を利用している場合には /boot/grub/grub.conf または /boot/grub/menu.lst のどちらか、 GRUB バージョン2を利用している場合には /boot/grub/grub.cfg または /boot/grub2/grub.cfg のどちらかであると思います。詳しくはお使いのディストリビューションのドキュメントを参照してください。

3.5. システムの再起動

ここまでで準備は完了です。(お疲れさまでした。)それでは、新しくインストールされたカーネルを使用してみましょう。システムを再起動し、 GRUB の画面(あるいは使用している他のブートローダの画面)で TOMOYO Linux カーネルを選択してください:

grub-screen.png

正常にインストールが完了し、ブートローダの設定が適切に行われていれば、正常にカーネルがロードされ、 TOMOYO Linux が有効になる筈です:

tomoyo-activated.png

3.6. どのようにすれば TOMOYO Linux を無効化またはアンインストールできますか?

もし、このガイドに従って操作している間またはそれ以降にシステムが起動しなくなってしまった場合、ポリシーの設定が不適切である場合を含めて TOMOYO Linux に原因があるかもしれません。その場合、 security=none というパラメータをカーネルに対するコマンドラインオプションに指定することにより、 TOMOYO Linux が無効な状態でカーネルがロードされます。