Tetsuo Handa
from-****@I-lov*****
2007年 5月 8日 (火) 21:00:12 JST
熊猫です。 とりあえず実装してみました。 パス名を否定するというよりも パス名を引き算するというイメージの方に近かったので、 演算子は \! ではなく \- にしてみました。 どうぞお試しください。 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi/trunk/?rev=206&root=tomoyo の下の Download tarball をクリックすればダウンロードできます。 ccs-patch ccs-tools htdocs が全て含まれた状態の trunk.tar.gz が保存されますので tar -zxf trunk.tar.gz で展開してください。 その後、 trunk/ccs-patch/ の内容をカーネルソースを展開したディレクトリに移動させます。 /root/ccstools/ ディレクトリを /root/ccstools.old/ などにリネームしてから trunk/ccs-tools/ccstools/ ディレクトリを /root/ccstools/ へ移動させます。 trunk/htdocs/ ディレクトリには最新の手順書が入っています。 バイナリカーネルの作り方が解らない方はこちらで作成しますので ご利用のディストリビューションを(ml宛でも熊猫宛でも構いませんので)お知らせください。 使い方は以下のようになります。 /etc/\* と指定すると /etc/shadow などの重要なファイルも含まれてしまうので /etc/resolv.conf や /etc/nsswitch.conf のように個別に許可する必要がありました。 しかし、 \- を使って /etc/\*\-\*shadow\* のように指定すると /etc/\* から /etc/\*shadow\* に一致するもの( /etc/shadow /etc/shadow.\$ /etc/gshadow など)を 除外できるので、個別に許可しないで済む場合があります。 /home/\*/\*/\*/\*\-.svn/ のようにすれば、 /home/\*/\*/\*/\*/ から /home/\*/\*/\*/.svn/ を除外できます。 実際にカーネルとポリシーを作成して試すのが面倒だという方は、 ccstools に含まれる pathmatch というコマンドを利用できます。 pathmatch を起動すると入力待ち状態になるので、試したいパターンを入力します。 例えば、 /\*/ と指定すると、 / ディレクトリ直下にある全てのディレクトリが表示されます。 /\*\-proc/ と指定すると、 /proc/ 以外の / ディレクトリ直下にある全てのディレクトリが表示されます。 本件に限らず、解らないことがあればどんどん質問してください。