from-****@i-lov*****
from-****@i-lov*****
2007年 7月 30日 (月) 15:19:10 JST
先週の開発会議で話が出てきた、TOMOYO Linux ツールの置き場所と TOMOYO Linux ポリシーファイルの置き場所についての変更案です。 <<ツールについて>> システム管理ツールであり、起動直後から使える必要があるので、 / ディレクトリと同じパーティション上に置く必要があります。 そのため、 /root/ccstools/ 以外の候補としては /sbin/ /bin/ /etc/ あたりになるでしょう。 /usr/ は / とは別パーティション上である可能性があるという理由から不適切です。 よって、パッケージ化してインストールする場合でも、 インストールルートは /usr/ や /usr/local/ ではなく / になるでしょう。 /sbin/ /bin/ /etc/ のいずれに置く場合でも、既存のプログラム名と衝突しないようにする必要があります。 例えば /root/ccstools/checkpolicy は TOMOYO Linux のポリシーをチェックするためのプログラムですが、 SELinux でも /usr/bin/checkpolicy というプログラムが使われています。 そのため、 checkpolicy という名前のまま /sbin/ 等に置くのは避けなければいけません。 TOMOYO Linux では以下のツールが提供されています。 realpath checkpolicy ccstools editpolicy_offline make_exception.sh setlevel ld-watch editpolicy .init patternize ccs-queryd domainmatch loadpolicy init_policy.sh savepolicy setprofile make_file_pattern.sh pathmatch findtemp sortpolicy ccstree ccs-auditd make_allow_read.sh make_alias.sh 衝突を避けるために、これらのプログラム名に対して tomoyo- なり ccs- なり tmy- なりのプレフィックスを付けるなどの加工が必要です。 <<ポリシーファイルについて>> ポリシーファイルの置き場は /etc/ 以下になると思うので、 候補としては /etc/ccs/ か /etc/tomoyo/ か /etc/tmy/ あたりになるでしょう。 TOMOYO Linux では以下のポリシーファイルが使われています。 status.txt ・・・プロファイル(制御方法)を定義する。 status-数字.txt domain_policy.txt ・・・ドメイン単位で与えるアクセス許可を定義する。学習モードにより更新される。 domain_policy.作成日-作成時刻.txt exception_policy.txt ・・・ドメイン遷移などの例外処理を定義する。学習モードにより更新されない。 exception_policy.作成日-作成時刻.txt system_policy.txt ・・・システム全体で与えるアクセス許可を定義する。学習モードにより更新される。 system_policy.作成日-作成時刻.txt manager.txt ・・・ /proc/ccs/ 経由でポリシーの変更を許可するプログラムやドメイン名を定義する。 mapping.txt ・・・ TOMOYO 1.0.2 のように振舞わせる。 上記のポリシーファイルの取得/更新用として /proc/ccs/ には以下のインタフェースファイルが提供されています。 ポリシー置き場に合わせると、候補としては /proc/ccs/ か /proc/tomoyo/ か /proc/tmy/ あたりになるでしょう。 status domain_policy exception_policy system_policy manager mapping その他に、 /proc/ccs/ には以下のインタフェースファイルも提供されています。 query ・・・ 強制モードにおいて対話的にアクセス要求の諾否を指定する。 .domain_status ・・・ ドメインのプロファイルを切り替える。 .process_status ・・・ カレントプロセスが属するドメインのプロファイルを取得する。 grant_log ・・・ ポリシーに違反しなかったアクセス要求のログを取得する。 reject_log ・・・ ポリシーに違反したアクセス要求のログを取得する。 self_domain ・・・ カレントプロセスが属するドメインのドメイン名を取得する。 meminfo ・・・ ポリシーやログが使用しているメモリの量を取得する。 .updates_counter ・・・ ポリシーに変化があったかどうかを取得する。 要望としては、 (1) ポリシーファイルの末尾の .txt を付けないようにする (2) status ではなく profile に変更する が挙がっています。