ポリシーエディタの使い方
内容
- 1. 起動方法
- 1.1. ポリシーディレクトリの指定
- 1.2. 最初に表示する画面の指定
- 1.3. 最初に表示する名前空間の指定
- 1.4. 動作モードの指定
- 1.5. 自動更新の指定
- 2. 利用可能なコマンド
- 3. Domain Policy Editor 画面固有の操作
- 3.1. Domain Policy Editor 画面
- 3.2. アクセス許可をパターン化する
- 3.3. 表示順を切り替える
- 4. Domain Transition Editor 画面固有の操作
- 4.1. ドメイン遷移のパターンと例外を確認する
- 4.2. プロファイル番号を変更する
- 4.3. ドメインのアクセス許可を編集する
- 4.4. 現在実行中のプロセスが属しているドメインのアクセス許可を編集する
1. 起動方法
ポリシーエディタは以下のように実行することができます:
# /usr/sbin/tomoyo-editpolicy
以下のオプションをコマンドラインに指定することができます。
1.1. ポリシーディレクトリの指定
ポリシーエディタはデフォルトで /sys/kernel/security/tomoyo/ ディレクトリにあるポリシーを編集します。
指定 | 意味 |
---|---|
$ipaddress:$port | $ipaddress という IPv4 アドレスを持つホストのポート $port で待機しているポリシー編集エージェントプロセスに接続します。 |
/$path/$to/$directory | /$path/$to/$directory ディレクトリ内の policy/current/ ディレクトリにあるポリシーファイルを編集します。通常は /etc/tomoyo/ を指定します。 |
1.2. 最初に表示する画面の指定
ポリシーエディタはデフォルトで Domain Transition Editor 画面を表示します。
指定 | 意味 |
---|---|
e |
この画面は /sys/kernel/security/tomoyo/exception_policy を編集するために使用します。 |
d |
この画面は /sys/kernel/security/tomoyo/domain_policy を編集するために使用します。 |
p |
この画面は /sys/kernel/security/tomoyo/profile を編集するために使用します。 |
m |
この画面は /sys/kernel/security/tomoyo/manager を編集するために使用します。 |
n |
この画面は名前空間を選択するために使用します。 |
s |
この画面は /sys/kernel/security/tomoyo/stat を編集するために使用します。 |
1.3. 最初に表示する名前空間の指定
ポリシーエディタはデフォルトで <kernel> 名前空間を表示します。
指定 | 意味 |
---|---|
<$namespace> | <$namespace> 名前空間を表示します。 |
それぞれの名前空間は独立した Exception Policy Editor 画面、 Domain Transition Editor 画面、 Profile Editor 画面を持っています。現在表示されている名前空間はそれぞれの画面の3行目に表示されます。
名前空間は Namespace Selector 画面から切り替えできる他、 Domain Transition Editor 画面に表示されるショートカットからも切り替えできます。
1.4. 動作モードの指定
ポリシーエディタはデフォルトで閲覧と編集の両方ができるモードで動作します。
指定 | 意味 |
---|---|
readonly | 閲覧専用モードで動作します。 |
1.5. 自動更新の指定
ポリシーエディタはデフォルトで r キーが押されたときだけ最新の情報に更新します。
指定 | 意味 |
---|---|
refresh=$interval | $interval 秒ごとに自動的に最新の情報に更新します。閲覧専用モードで使うことを前提としています。 |
2. 利用可能なコマンド
ポリシーエディタは ncurses インタフェースを利用しており、操作は全てキーボードで行います。
2.1. スクロール
キー |
スクロール動作 |
---|---|
↑キー |
1行上へスクロールします。 |
↓キー |
1行下へスクロールします。 |
PageUp キー |
1画面上へスクロールします。 |
PageDown キー |
1画面下へスクロールします。 |
→ キー |
1桁右へスクロールします。 |
← キー |
1桁左へスクロールします。 |
Home キー |
行の先頭へ移動します。 |
End キー |
行の末尾へ移動します。 |
2.2. 検索
キー |
検索動作 |
---|---|
f または F キー |
最初に一致するエントリを検索します。 検索を開始するには、 f キーを押して、検索したい文字列を入力し、最後に Enter キーを押します: |
n または N キー |
次に一致するエントリを検索します。 前回入力した文字列で順方向(下方向)に検索を続行します。 |
p または P キー |
前に一致するエントリを検索します。 前回入力した文字列で逆方向(上方向)に検索を続行します。 |
2.3. 編集
キー |
編集動作 |
---|---|
Insert キー |
カーソルのある行のエントリをヒストリバッファにコピーします。 |
a または A キー |
エントリを追加します。 エントリを追加するには、 a キーを押して、追加したい内容を入力し、最後に Enter キーを押します: 入力した内容はヒストリに残っており Insert キーでヒストリの内容を確認できます。 |
Space キー |
カーソルのある行の選択状態を反転させます。 選択したいエントリの行へとカーソルを移動させてから Space キーを押してください。 |
c または C キー |
カーソルのある行の選択状態をそれ以降の全ての行にコピーします。 c キーを押すと、カーソルのある行の選択状態をそれ以降の全ての行へとコピーすることができます: これは、全てのエントリや特定の範囲のエントリを選択する際に便利です。 |
d または D キー |
選択されたエントリを削除します。 エントリを削除するには、削除したいエントリの行へとカーソルを移動させて d キーを押します: 削除したいエントリを全て選択してから行うこともできます。 |
s または S キー |
Domain Transition Editor 画面では、選択されたドメインのプロファイル番号を設定します。 |
Enter キー |
Domain Transition Editor 画面においてカーソルのある行のドメインのアクセス許可を編集します。 |
2.4. その他
キー |
その他の動作 |
---|---|
q または Q キー |
終了します。 |
r または R キー |
最新の情報に更新します。 |
w または W キー |
選択可能な画面の一覧を表示します。 w キーを押すと画面の一覧が表示されます。その画面からキーを押すと、対応する画面へと切り替わります: |
3. Domain Policy Editor 画面固有の操作
3.1. Domain Policy Editor 画面
この画面は、 Domain Transition Editor 画面でカーソルをドメイン名に合わせてから、 Enter キーを押すあるいは w キーを押してから a キーを押すことで表示することができます。
3.2. アクセス許可をパターン化する
冗長なエントリはパターン化することにより除去することができます( Chapter 6: ポリシーはどのように作成しますか?を参照してください)。 Domain Policy Editor 画面で file read /home/kumaneko/SVN/\{\*\}\/\* のようなエントリを追加してください:
手作業で追加されたこのエントリは既に定義されている多くのエントリに一致します。カーソルをパターン化されたこのエントリに合わせて、 o キーを押してください。すると、カーソルのある行に包含されるエントリが全て選択されます:
d キーを押すことにより、選択されたエントリを削除することができます。追加したパターン化されたエントリ全てに対してこの操作を繰り返すことができます。
3.3. 表示順を切り替える
@ キーを押すと、表示順を切り替えることができます。
4. Domain Transition Editor 画面固有の操作
4.1. ドメイン遷移のパターンと例外を確認する
この画面には、現在編集中の名前空間に含まれるドメインの一覧と、その遷移パターンが表示されます。また、ドメイン遷移の例外が発生する場合には、その情報についても表示されます。
1番左側に行番号が表示されている行( 4.1.1 ~ 4.1.3 )は実在するドメインについての情報です。左から2番目の数値が、そのドメインに割り当てられているプロファイル番号です。
1番左側に行番号が表示されていない行( 4.1.4 ~ 4.1.7 )は実在しないドメインについての情報です。親ドメインが存在しない場合またはドメイン遷移の例外が発生する場合の遷移先を示すショートカットとして表示されます。
4.1.1. ! マークが表示されているドメインについて
丸括弧内に示されたディレクティブにより、このドメインへ到達することができないことを示しています。
到達できないドメインが不要であれば、削除することができます。
4.1.2. * マークが表示されているドメインについて
親ドメイン以外からこのドメインへ到達する可能性があることを示しています。
4.1.3. # マークが表示されているドメインについて
複数のプログラムがこのドメインで動作する可能性があることを示しています。
4.1.4. ( -> n ) という表示があるドメインについて
ドメイン遷移例外指定により、 n 番目のドメインへと遷移することを示しています。
4.1.5. ( -> Namespace Jump ) という表示があるドメインについて
ドメイン遷移例外指定により、 現在表示されている名前空間の外部にあるドメインへと遷移することを示しています。
4.1.6. ( -> Not Found ) という表示があるドメインについて
ドメイン遷移例外指定により指定されたドメインが定義されていないことを示しています。
4.1.7. ドメイン名が ( ) で囲まれたドメインについて
このドメインが定義されていないことを示しています。この行はツリーのインデントを崩さないようにするために表示されます。
4.2. プロファイル番号を変更する
s キーを押して、プロファイル番号を入力し、 Enter キーを押してください:
4.3. ドメインのアクセス許可を編集する
Domain Transition Editor 画面でカーソルをドメイン名に合わせてから、 Enter キーを押す(あるいは w キーを押してから a キーを押す)と、 Domain Policy Editor 画面に移動します。Domain Policy Editor 画面で Enter キーを押す(あるいは w キーを押してから d キーを押す)と、 Domain Transition Editor 画面に戻ります。
4.4. 現在実行中のプロセスが属しているドメインのアクセス許可を編集する
Domain Transition Editor 画面で @ キーを押すと、 Process State Viewer 画面に移動します。この画面には、現在実行中のプロセスの一覧と、そのプロセスが属しているドメインの情報が pstree
コマンドのように表示されます。カーソルをプロセスに合わせてから、 Enter キーを押す(あるいは w キーを押してから a キーを押す)と、 Domain Policy Editor 画面に移動します。 Process State Viewer 画面で @ キーを押すと、 Domain Transition Editor 画面に戻ります。