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などとの同時使用を許可 | ○ | ○ | ○ | ||||||||
使いたい機能だけを有効にすることを許可 | ○ | ○ | ○ | ○ | ○ | ○ | |||||
設定を初期化するときの所要時間を短縮 | ○ | ○ | ○ | ○ | ○ | ○ |