Ubuntu 7.10 TOMOYO Linux 1.5.3のインストールメモ
概要
- VMwareで仮装マシンを作成
- Ubuntu 7.10の導入
- 開発環境の導入
- カーネルソースの導入
- TOMOYO Linux 1.5.3の導入
- 環境設定
開発環境の導入
8月19日の日記にあるように、以下のパッケージを導入する。
- wget
- build-essential
- kernel-package
- libncurses5-dev
# apt-get install wget build-essential kernel-package libncurses5-dev
カーネルソースの導入
まずはベースとなるUbuntu用のカーネルソースを取得する。
# apt-get install linux-source
/usr/srcにlinux-source-2.6.22.tar.bz2が取得された。dpkgの出力によると、これは2.6.22.14カーネルにUbuntuパッチを適用したものだ。/usr/src/linux-source-2.6.22として展開する。
# tar xvfj linux-source-2.6.22.tar.bz2 # cd linux-source-2.6.22
TOMOYO Linux 1.5.3の導入
TOMOYO Linux 1.5.3のダウンロード
カーネルパッチとツールの2つをダウンロードする。
# wget http://osdn.dl.sourceforge.jp/tomoyo/27219/ccs-patch-1.5.3-20080131.tar.gz # wget http://osdn.dl.sourceforge.jp/tomoyo/27220/ccs-tools-1.5.3-20080131.tar.gz
カーネルにパッチをあてる
# tar xvfz cc-patch-1.5.3-20080131.tar.gz # patch -p1 < patches/ccs-patch-2.6.22.9-ubuntu1.diff
patchesとspecsのディレクトリが作成され、patchesの下にカーネルパッチが展開される。今回は、少し古い2.6.22.9-ubuntuを使ったが、rejectはなかった。
config作成
genericの.configをベースにmake menuconfigを実行し、カーネルコンフィグを定義する。
TOMOYO Linux関連の設定は、Securiytではなく、File Systemsのセクションにある。設定内容は特に変更の必要はない。
[*] SAKURA (Domain-Free Mandatory Access Control) support [*] TOMOYO (Domain-Based Mandatory Access Control) support (2048) Default maximal count for learning mode (1024) Default maximal count for grant log (1024) Default maximal count for reject logSYAORAN (Tamper-Proof Device Filesystem) support
ツールを展開してコンパイルする
ツールはどこに展開しても良いが、今回はカーネルソースのトップに展開した。ccstoolsというディレクトリが作成されるので、そこにcdする。今回試したところ、libreadline5-devが必要だった。
# tar xvfz ccs-tools*.gz # cd ccstools # apt-get install libreadline5-dev # make # make install
初期化ツールの実行
今回は、LSM版ではなく1.5の導入なので、init_policy.shを実行する。
# sh /usr/lib/ccs/init_policy.sh
/etc/ccsディレクトリが作成され、profile.conf等が生成されていることを確認する。
カーネルパッケージの導入
パッケージは/usr/srcに作成されているはずなので、確認後、dpkg -iでインストールする。
環境設定
version 1.5.3のeditpolicyでは、ファイルアクセス制御の表示内容がカスタマイズできるようになった。rwx表示にするために、/usr/lib/ccs/editpolicy.shを作成した。
# cat /usr/lib/ccs/editpolicy.sh #! /bin/sh export EDITPOLICY_KEYWORD_ALIAS='1=--x:2=-w-:3=-wx:4=r--:5=r-x:6=rw-:7=rwx' /usr/lib/ccs/editpolicy $@
1,2...7も同時に表示したければ、'1=1 --x:2=2 -w-:...'のようにすれば良い。