Tetsuo Handa
from-****@I-lov*****
2007年 8月 12日 (日) 03:41:17 JST
熊猫です。 file_pattern を使わずに学習させてしまったアクセス許可をパターン化させるには、 (a) 学習されたアクセス許可を削除し、 file_pattern を定義後に再学習する (b) 再学習はせず、ポリシーファイルを直接編集することでパターン化する という2種類の方法があります。 (b) を支援するツールとして findtemp と patternize コマンドが提供されていますが、 http://d.hatena.ne.jp/naothy/20070809 に書いたとおり、操作が面倒です。 「テンポラリファイルか否か」や 「テンポラリファイルを全て含むことができる必要十分なワイルドカードは何か」や 「ワイルドカードを含むパス名1とワイルドカードを含むパス名2は包含関係か否か」を コンピュータが判断することはできません。 しかし、 「ワイルドカードを含むパス名1がワイルドカードを含まないパス名2を包含しているか否か」を コンピュータが判断することはできます。 例えばポリシーエディタで 2 /etc/mtab.123 2 /etc/mtab.205 2 /etc/mtab.507 というアクセス許可があった場合に 2 /etc/mtab.$? を足すと、上記の3つは /etc/mtab.$? に包含されているので削除することができます。 そこで、削除可能なエントリに & マークを付けるという処理を行うための機能拡張を検討しています。 「テンポラリファイルを全て含むことができる必要十分なワイルドカードは何か」 (上記の例では /etc/mtab.$? )を推測するのは人間にとっては簡単ですので、 人間がワイルドカードで指定し、コンピュータがそのワイルドカードに包含されてしまうエントリを 削除するというアプローチです。 まだ未完成ですが実装してみました。リビジョン 344 です。 2 /etc/mtab.$? を追加後、 2 /etc/mtab.$? の行にカーソルを合わせてから o キーを押すことで、 2 /etc/mtab.$? に包含される 2 /etc/mtab.123 、 2 /etc/mtab.205 、 2 /etc/mtab.507 の3行に対して & マークが付与されます。その後、 d キーを押すことで削除できます。 使い勝手はいかがでしょうか?