Tetsuo Handa
from-****@i-lov*****
2008年 6月 11日 (水) 14:38:13 JST
熊猫です。 遅延執行モードの有効/無効を制御するための ALLOW_ENFORCE_GRACE パラメータ ですが、特定のプロファイル番号の ALLOW_ENFORCE_GRACE だけを enabled にする という使い方はほとんど意味が無いと思い、削除することにしました。 遅延執行モードは、強制モードで稼動中のシステムに対して、ソフトウェアの アップデートを行った際、パス名の変化や突発的な要求(シグナルの送信など)による ポリシー違反を処理するために TOMOYO 1.1.1 で実装されました。 TOMOYO 1.3 で ドメイン単位でプロファイル番号を切り替えできるようになったのに伴い、 遅延執行モードの有効/無効の切り替えもプロファイル番号単位で指定できるように なりました。 しかし、ソフトウェアのアップデートにより発生するポリシー違反は、特定の プロファイル番号だけで発生するものではなく、 enforcing を指定している全ての プロファイル番号に対して発生しうるものです。そのため、ユーザは enforcing が 指定された項目がある全てのプロファイル番号に対して ALLOW_ENFORCE_GRACE=enabled を指定する必要があります。 http://tomoyo.sourceforge.jp/ja/1.6.x/update.html ではプロファイル番号 3 に 対してだけ ALLOW_ENFORCE_GRACE=enabled を指定していますが、もし、ユーザが プロファイル 4 や 5 に対しても enforcing を指定している場合には 4 や 5 に 対しても同様に ALLOW_ENFORCE_GRACE=enabled を指定すべきです。 そのため、実際にはプロファイル番号単位で指定させるのは手間が掛かるだけで、 あまり使い勝手がよくないと感じるようになりました。 /proc/ccs/profile で enforcing を指定しない限り遅延執行モードは意味を 持ちませんし、 enforcing を指定したとしても /proc/ccs/query を監視している プロセスが存在しない限り遅延執行モードは有効にはなりません。 ですので、重ねて ALLOW_ENFORCE_GRACE パラメータで無効化できるようにしておく 必要は無いと思います。 /proc/ccs/query から取得できる情報にプロファイル番号を含めるように 修正したので、もし「特定のプロファイル番号に対してだけ遅延執行モードを 有効にしたい」というニーズがあれば、 ccs-queryd 側でプロファイル番号を チェックすることにより、従来と同様に扱うことも可能でしょう。