TOMOYO Linux 機能比較表
| TOMOYO Linux バージョン | 1.7 | 1.8 | 2.2 | 2.3 | 2.4 | 2.5 | 2.6 | ||||
| 対応カーネルバージョン | 2.4.37 2.6.27-2.6.37 | 2.4.37 2.6.27-2.6.39 3.0-3.19 4.0-4.20 5.0-5.19 6.0- | 2.6.30-2.6.32 | 2.6.33 | 2.6.34 | 2.6.35 | 2.6.36-2.6.39 3.0 | 3.1 | 3.2-3.19 4.0-4.20 5.0 | 5.1-5.19 6.0- | |
| 種別 | 内容 | ||||||||||
| パス名の正確さ | |||||||||||
| 自プロセスの情報(/proc/self/)へのアクセスのみを許可 | ○ | ○ | ○ | ○ | ○ | ||||||
| 削除されたファイルに対するアクセスを許可 | ○ | ○ | ○ | ○ | ○ | ○ | |||||
| 4000文字を超える長いパス名に対するアクセスを許可 | ○ | ○ | ○ | ○ | ○ | ○ | |||||
| パス名の指定を容易にする機能 | |||||||||||
| 再帰的なパス名(/\{dir\}/)の指定 | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ||
| パス名のグループ化(path_group) | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ||||
| 数値の指定を容易にする機能 | |||||||||||
| 数値のグループ化(number_group) | ○ | ○ | ○ | ○ | ○ | ○ | |||||
| IPアドレスのグループ化(address_group) | ○ | ○ | ○ | ○ | |||||||
| 再起動回数を減らす機能 | |||||||||||
| ガベージコレクションによるメモリ解放 | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | |||
| より詳細なドメイン遷移を行う機能 | |||||||||||
| プログラムの実行を伴わないドメイン遷移を許可 | ○ | ○ | ○ | ○ | |||||||
| 条件を満たしたら自動的にドメイン遷移を行う | ○ | ||||||||||
| より詳細なアクセス許可を指定する機能 | |||||||||||
| プロセスのユーザIDなどを利用した制限 | ○ | ○ | ○ | ○ | ○ | ||||||
| ファイルの所有者IDなどを利用した制限 | ○ | ○ | ○ | ○ | ○ | ||||||
| 状態変数を利用したステートフルなアクセス許可 | ○ | (*2) | |||||||||
| グループ化されたパーミッション(acl_group)の利用を許可 | ○ | ○ | ○ | ○ | |||||||
| ポリシー名前空間のサポート | ○ | ○ | ○ | ○ | |||||||
| 暴走によるダメージを減らす機能 | |||||||||||
| スリープペナルティ機能 | ○ | ○ | |||||||||
| execute handler機能 | ○ | ○ | |||||||||
| アクセスログを取得する機能 | |||||||||||
| ポリシー違反のメール通知 | ○ | ○ | ○ | ○ | ○ | ○ | |||||
| 許可ログ/拒否ログの取得 | ○ | ○ | ○ | ○ | ○ | ||||||
| ソフトウェアのアップデートを支援する機能 | |||||||||||
| ポリシー違反の対話的な処理 | ○ | ○ | ○ | ○ | ○ | ○ | |||||
| ファイルに対するアクセス制御 | |||||||||||
| 読み込みモードでのオープン(read)を制限 | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | |
| 書き込みモードでのオープン(write)を制限 | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | |
| 追記モードでのオープン(append)を書き込みモードのオープンと区別 | (*1) | ○ | (*1) | (*1) | (*1) | (*1) | (*1) | ○ | ○ | ○ | |
| プログラムの実行(execute)を制限 | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | |
| 一時的な名前を持つプログラムの実行を許可 | ○ | ○ | ○ | ○ | ○ | ○ | |||||
| シンボリックリンクのリンク先を制限 | ○ | ○ | ○ | ○ | ○ | ||||||
| 起動時の名前(argv[0])を制限 | ○ | ○ | ○ | ○ | ○ | ||||||
| 引数(argv[])および環境変数(envp[])の内容を制限 | ○ | ○ | ○ | ○ | ○ | ||||||
| 使用してよい環境変数名を制限 | ○ | ○ | ○ | ○ | |||||||
| バイナリローダー(例: /lib/ld-linux.so.2 )として使用できるプログラムを制限 | ○ | ○ | |||||||||
| ドメイン遷移方法を指定 | ○ | ○ | ○ | ||||||||
| ファイルの作成(create)を制限 | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | |
| ファイル作成時のパーミッションを制限 | ○ | ○ | ○ | ○ | ○ | ○ | |||||
| ディレクトリの作成(mkdir)を制限 | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | |
| ディレクトリ作成時のパーミッションを制限 | ○ | ○ | ○ | ○ | ○ | ○ | |||||
| FIFOの作成(mkfifo)を制限 | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | |
| FIFO作成時のパーミッションを制限 | ○ | ○ | ○ | ○ | ○ | ○ | |||||
| Unixドメインソケットの作成(mksock)を制限 | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | |
| Unixドメインソケット作成時のパーミッションを制限 | ○ | ○ | ○ | ○ | ○ | ○ | |||||
| シンボリックリンクの作成(symlink)を制限 | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | |
| シンボリックリンク作成時のリンク先を制限 | ○ | ○ | ○ | ○ | ○ | ||||||
| デバイスファイルの作成(mkblock/mkchar)を制限 | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | |
| デバイスファイル作成時のデバイス番号およびパーミッションを制限 | ○ | ○ | ○ | ○ | ○ | ○ | |||||
| IOCTLの可否(ioctl)を制限 | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | |||
| IOCTLのコマンド番号を制限 | ○ | ○ | ○ | ○ | ○ | ○ | |||||
| 所有者(chown)/グループ(chgrp)/パーミッション(chmod)の変更可否を制限 | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | |||
| 所有者ID/グループID/パーミッションを制限 | ○ | ○ | ○ | ○ | ○ | ○ | |||||
| ファイルの削除(unlink)を制限 | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | |
| ファイルの切り詰め(truncate)を制限 | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | |
| ファイルの上書き(rewrite)を制限 | ○ | (*1) | ○ | ○ | ○ | ○ | ○ | (*1) | (*1) | (*1) | |
| ファイルのリネーム(rename)を制限 | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | |
| ファイルのハードリンク(link)を制限 | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | |
| ディレクトリの削除(rmdir)を制限 | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | |
| ファイルシステムのマウント(mount)を制限 | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | |||
| マウント時のファイルシステム種別やモードを制限 | ○ | ○ | ○ | ○ | ○ | ○ | |||||
| ファイルシステムのアンマウント(unmount)を制限 | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | |||
| ルートディレクトリの置換(chroot)や交換(pivot_root)を制限 | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | |||
| ネットワークに対するアクセス制御 | |||||||||||
| 接続要求を送信する際にリモートホストのIPアドレスおよびポート番号を制限 | ○ | ○ | ○ | ○ | |||||||
| パケットを送信する際にリモートホストのIPアドレスおよびポート番号を制限 | ○ | ○ | ○ | ○ | |||||||
| 接続要求を受信する際にリモートホストのIPアドレスおよびポート番号を制限 | ○ | ○ | |||||||||
| パケットを受信する際にリモートホストのIPアドレスおよびポート番号を制限 | ○ | ○ | |||||||||
| ローカルホストのIPアドレスおよびポート番号を制限 | ○ | ○ | ○ | ○ | |||||||
| 特定のローカルポート番号を必要とするアプリケーションのために予約しておく | ○ | ○ | |||||||||
| 接続要求を送信する際に相手のUNIXアドレスを制限 | ○ | ○ | ○ | ||||||||
| パケットを送信する際に相手のUNIXアドレスを制限 | ○ | ○ | ○ | ||||||||
| 接続要求を受信する際に相手のUNIXアドレスを制限 | ○ | ||||||||||
| パケットを受信する際に相手のUNIXアドレスを制限 | ○ | ||||||||||
| 自分のUNIXアドレスを制限 | ○ | ○ | ○ | ||||||||
| ケイパビリティに対するアクセス制御 | |||||||||||
| 独自のケイパビリティを用いた制限 | ○ | ○ | |||||||||
| 他のパーミッションと重複するケイパビリティをチェックしない | ○ | ||||||||||
| プロセス間通信に対するアクセス制御 | |||||||||||
| シグナルの送信先を制限 | ○ | ○ | |||||||||
| その他 | |||||||||||
| SELinuxやAppArmorなどとの同時使用を許可 | ○ | ○ | ○ | ||||||||
| 使いたい機能だけを有効にすることを許可 | ○ | ○ | ○ | ○ | ○ | ○ | |||||
| 設定を初期化するときの所要時間を短縮 | ○ | ○ | ○ | ○ | ○ | ○ | |||||