tomoyotitle.png

ドメインポリシー構文

allow_execute

このディレクティブは、指定されたパス名の実行を許可します。

以下の例では /bin/ls の実行を許可しています:

allow_execute /bin/ls

参照:

allow_read

このディレクティブは、指定されたパス名を読み込みモードでオープンすることを許可します。

以下の例では /proc/meminfo の参照を許可しています:

allow_read /proc/meminfo

参照:

allow_write

このディレクティブは、指定されたパス名を書き込みモードでオープンすることを許可します。

以下の例では /dev/null への書き込みを許可しています:

allow_write /dev/null

参照:

allow_read/write

このディレクティブは、指定されたパス名を読み書きモードでオープンすることを許可します。

以下の例では /dev/null への読み書きを許可しています:

allow_read/write /dev/null

参照:

allow_create

このディレクティブは、指定されたファイルを指定されたパーミッションで作成することを許可します。

以下の例では /var/lock/subsys/crond の作成を許可しています:

allow_create /var/lock/subsys/crond 0644

参照:

allow_unlink

このディレクティブは、指定されたパス名を削除することを許可します。

以下の例では /var/lock/subsys/crond の削除を許可しています:

allow_unlink /var/lock/subsys/crond

参照:

allow_chown

このディレクティブは、指定されたパス名の所有者を指定されたユーザIDに変更することを許可します。

以下の例では /dev/sda の所有者のユーザIDを 0 に設定することを許可しています:

allow_chown /dev/sda 0

参照:

allow_chgrp

このディレクティブは、指定されたパス名のグループを指定されたグループIDに変更することを許可します。

以下の例では /dev/audio のグループのグループIDを 92 に設定することを許可しています:

allow_chgrp /dev/audio 92

参照:

allow_chmod

このディレクティブは、指定されたパス名のパーミッションを指定された数値に変更することを許可します。

以下の例では /dev/mem のパーミッションを 0644 に設定することを許可しています:

allow_chmod /dev/mem 0644

参照:

allow_mkdir

このディレクティブは、指定されたパス名のディレクトリを指定されたパーミッションで作成することを許可します。

以下の例では /tmp/logwatch.\*/ というパターンに一致するディレクトリの作成を許可しています:

allow_mkdir /tmp/logwatch.\*/ 0755

参照:

allow_rmdir

このディレクティブは、指定されたディレクトリを削除することを許可します。

以下の例では /tmp/logwatch.\*/ というパターンに一致するディレクトリの削除を許可しています:

allow_rmdir /tmp/logwatch.\*/

参照:

allow_mkfifo

このディレクティブは、指定されたFIFOを指定されたパーミッションで作成することを許可します。

以下の例では /dev/initctl という名前のFIFOの作成を許可しています:

allow_mkfifo /dev/initctl 0644

参照:

allow_mksock

このディレクティブは、指定されたソケットを指定されたパーミッションで作成することを許可します。

以下の例では /dev/log という名前のソケットの作成を許可しています:

allow_mksock /dev/log 0755

参照:

allow_mkblock

このディレクティブは、指定されたブロックデバイスを指定されたパーミッションおよびメジャー番号/マイナー番号で作成することを許可します。

以下の例では /dev/loop0 というブロックデバイスの作成を許可しています:

allow_mkblock /dev/loop0 0600 7 0

参照:

allow_mkchar

このディレクティブは、指定されたキャラクタデバイスを指定されたパーミッションおよびメジャー番号/マイナー番号で作成することを許可します。

以下の例では /dev/console というキャラクタデバイスの作成を許可しています:

allow_mkchar /dev/console 0755 5 1

参照:

allow_truncate

このディレクティブは、指定されたパス名を切り詰めたり伸長したりすることを許可します。

以下の例では /etc/mtab を切り詰めることを許可しています:

allow_truncate /etc/mtab

参照:

allow_symlink

このディレクティブは、指定されたシンボリックリンクを作成することを許可します。

以下の例では /dev/cdrom というシンボリックリンクの作成を許可しています:

allow_symlink /dev/cdrom

参照:

allow_link

このディレクティブは、1番目に指定されたパス名と2番目に指定されたパス名とでハードリンクを作成することを許可します。

以下の例では /etc/mtab~\$ というパターンに一致するパス名と /etc/mtab~ というパス名とでハードリンクを作成することを許可しています:

allow_link /etc/mtab~\$ /etc/mtab~

参照:

allow_rename

このディレクティブは、1番目に指定されたパス名から2番目に指定されたパス名にリネームすることを許可します。

以下の例では /etc/mtab.tmp というパス名を /etc/mtab というパス名にリネームすることを許可しています:

allow_rename /etc/mtab.tmp /etc/mtab

参照:

allow_rewrite

このディレクティブは deny_rewrite ディレクティブの効果を打ち消すために使用します。

以下の例では deny_rewrite /var/log/\* という指定を打ち消しています:

allow_rewrite /var/log/\*

参照:

allow_ioctl

このディレクティブは、指定されたパス名に対して指定されたコマンド番号の ioctl 要求を行うことを許可します。 ioctl のコマンド番号については、対象となるモジュールの ioctl 機能の説明を参照してください。

以下の例ではファミリーが2、タイプが2、プロトコルが17のソケット(UDP/IPv4ソケット)に対して、 0x8915 番の ioctl 要求( SIOCGIFADDR 要求)を行うことを許可しています:

allow_ioctl socket:[family=2:type=2:protocol=17] 0x8915

以下の例では /dev/null に対して 10000 ~ 20000 番の ioctl 要求を行うことを許可しています:

allow_ioctl /dev/null 10000-20000

参照:

allow_mount

このディレクティブは、指定されたデバイス/ファイルシステムタイプ/マウントオプションで指定されたマウントポイントにマウントすることを許可します。

構文は allow_mount $DEVICE $MOUNTPOINT $FILESYSTEM $OPTIONS です。 $FILESYSTEM がデバイスファイルを必要とする場合、 $DEVICE にはデバイスファイルを指定します。 $OPTIONS は16進数(または8進数/10進数)の整数です。 $FILESYSTEM には以下の値も指定できます:

以下の例では / ディレクトリの再マウントを許可しています:

allow_mount any / --remount 0x0

以下の例では ext3 ファイルシステムとしてフォーマットされた /dev/hdc を /var/www/ ディレクトリにマウントすることを許可しています:

allow_mount /dev/hdc /var/www/ ext3 0xF

以下の例では /dev/shm/ ディレクトリに tmpfs ファイルシステムをマウントすることを許可しています:

allow_mount none /dev/shm/ tmpfs 0xE

参照:

allow_unmount

このディレクティブは、指定されたパス名をアンマウントすることを許可します。

以下の例では /mnt/cdrom/ ディレクトリをアンマウントすることを許可しています:

allow_unmount /mnt/cdrom/

参照:

allow_chroot

このディレクティブは、指定されたパス名を新しい / ディレクトリに設定することを許可します。

以下の例では /var/empty/sshd/ を新しい / ディレクトリに設定することを許可しています:

allow_chroot /var/empty/sshd/

参照:

allow_pivot_root

このディレクティブは、1番目に指定されたパス名を新しい / ディレクトリに設定し、古い / ディレクトリを2番目に指定されたパス名へと移動させることを許可します。

この機能は通常、 initrd/initramfs が使用していた / ディレクトリからハードディスクが使用する / ディレクトリへと切り替えるために1回だけ呼ばれます。この機能は通常、 TOMOYO Linux が有効にされるよりも前に呼び出されるため、このディレクティブが必要になることは滅多にありません。

以下の例では /sys/kernel/security/ を新しい / ディレクトリに設定し、古い / ディレクトリを /sys/kernel/security/tomoyo/ に移動させることを許可しています:

allow_pivot_root /sys/kernel/security/ /sys/kernel/security/tomoyo/

参照:

use_profile

このディレクティブは、ドメインに対して適用されるプロファイル番号を指定します。

以下の例ではドメインに対してプロファイル 3 を割り当てています:

use_profile 3

ignore_global_allow_read

このディレクティブは例外ポリシーで指定された allow_read ディレクティブの効果を打ち消すために使用します。

参照:

quota_exceeded

このディレクティブは、ドメインに対するアクセス許可の数がプロファイルの max_entry で指定された数に達したために、学習モードにおいて自動的に追加できなかったアクセス許可があることを示しています。

transition_failed

このディレクティブは、プログラムの実行要求に対してドメイン遷移を行わないまま処理を継続したことを示しています。

これは、強制モードが割り当てられない限り TOMOYO が原因でアクセス拒否が発生しないようにするために、強制モードではない場合にはドメイン遷移に失敗してもプログラムの実行要求を受け入れるようにしているために発生します。ドメイン遷移が失敗する原因としては、ドメイン名が長すぎたか、ドメインを作成するためのメモリを割り当てられなかったかのどちらかです。この問題を修正するには、ドメイン遷移を抑制するか、 TOMOYO が使ってよいメモリ使用量の上限を増やしてください。