24.5. ポリシーの自動学習

24.5.1. 学習モード

ログイン後の操作を学習するために学習モードへとプロファイルを切り替えます。学習モード(プロファイル 1)に切り替えるには setprofile コマンドを次のように実行します。これによって /sbin/mingetty から起動されるプログラムにはすべてプロファイル 1 が割り当てられます。

# setprofile -r 1 '<kernel> /sbin/mingetty'
1 <kernel> /sbin/mingetty
1 <kernel> /sbin/mingetty /bin/login
1 <kernel> /sbin/mingetty /bin/login /bin/bash
1 <kernel> /sbin/mingetty /bin/login /bin/bash /bin/egrep
1 <kernel> /sbin/mingetty /bin/login /bin/bash /usr/bin/id
1 <kernel> /sbin/mingetty /bin/login /bin/bash /bin/hostname
1 <kernel> /sbin/mingetty /bin/login /bin/bash /sbin/pidof
1 <kernel> /sbin/mingetty /bin/login /bin/bash /usr/bin/wc
1 <kernel> /sbin/mingetty /bin/login /bin/bash /usr/bin/tty
1 <kernel> /sbin/mingetty /bin/login /bin/bash /bin/grep
1 <kernel> /sbin/mingetty /bin/login /bin/bash /bin/stty
1 <kernel> /sbin/mingetty /bin/login /bin/bash /bin/mesg
 後略

ティップ

ドメイン名の <kernel> /sbin/mingetty の部分は、シェルのリダイレクト機能が働かないように必ず引用符(')で囲んでください。

setprofile コマンドの書式は次の通りです。

 setprofile -r プロファイル番号 ドメイン

24.5.2. ポリシーの参照(editpolicy)

いくつかのコマンドを実行し学習結果をポリシーエディタで参照します。

コマンドの実行

まずは、いくつかのコマンドを実行し自動学習をします。次の例のように通常通りコマンドを実行するだけで TOMOYO Linux は実行履歴を学習します。

# date
2007年 10月 18日 木曜日 11:19:03 JST
# head -3 /etc/passwd
root:x:0:0:root:/root:/bin/bash
tlclbadmin:x:0:0:TLCS admin:/root:/bin/bash
bin:x:1:1:bin:/bin:
ポリシーの参照

生成されたポリシーを参照します。

# editpolicy

TOMOYO Linux 起動後に呼び出されたプロセスの履歴がすべて表示されます。プロセスからまた他のプロセスが呼び出されていますが、このプロセスの呼び出しを“ドメイン遷移”と言います。この画面はドメイン遷移の一覧画面です。

参照に関する主なキー操作は以下の通りです。

表 24-3.

キー説明
[?]ヘルプ。ヘルプ画面で[?]キーを押すともとの画面に戻ります。
[q]終了
[r]更新
[f]検索。Serch> に続いて検索する文字列を入力します。[n]キーで次を検索、[p]キーで前を検索。
[↓] [↑]カーソル移動
[→] [←]左右画面スクロール

ティップ

editplicy ではポリシー定義の更新も可能です。詳細は以下サイトで公開されているオンラインマニュアルを参照してください。

http://tomoyo.sourceforge.jp/

先ほど実行したコマンドのポリシー定義を確認します。[f]キーを押し Serch> と表示されたら続いて mingetty と入力し検索します。

左から 2 つ目の項目がプロファイル番号です。/sbin/mingetty 以降の行は、“1”になっていますが、これは学習モード(プロファイル 1)で実行したためです。

/bin/head の行に移動し[Enter]キーを押します。次のように <kernel> /sbin/mingetty /bin/login /bin/bash /bin/head ドメインが表示されます。この画面は各ドメインに対するアクセス許可の編集画面です。

2 行目に /etc/passwd ファイルへの読み込み許可が定義されています。editpolicy を終了するには[q]キーを押します。[Enter]キーでもとのドメイン遷移の一覧画面に戻ります。

ポリシーの保存

学習モードで収集したポリシー定義はメモリ上に存在するため、このままの状態でシステムを停止するとポリシー定義は失われてしまいます。メモリ上のポリシー定義を /etc/ccs/ディレクトリ以下の設定ファイルに保存するには savepolicy コマンドを実行します。

# savepolicy