Tetsuo Handa
from-****@I-lov*****
2007年 3月 7日 (水) 21:27:48 JST
熊猫です。 今日、 x86_64 版の CentOS 4.4 をインストールして実験してみました。 > 具体的にはマウント制限機能が「64 ビットカーネル上で動作する 32 ビットプログラム」および > 「mount(2) 以外にマウントする方法を持ついくつかのアーキテクチャ」で働いていなかったようです。 execve(2) 実行時に実行許可のチェックとドメイン遷移が行われていないなど 他にもいくつか問題が見つかりました。 とりあえず、「バージョン 1.3.2 までは 64 ビットカーネル( x86_64 IA64 等)で 32 ビットプログラムに対するアクセス制限機能に漏れがある」と認識しておいてください。 x86_64 環境でコンパイルしてみた所、 mode_t uid_t gid_t のようなデータ型のサイズが i386 環境とは異なっているようで、 sscanf() の書式指定に関してワーニングが発生しました。 書式指定で指定されたサイズが環境により変化する可能性があるデータ型を sscanf() に渡すのは良くないと判断し、 unsigned int に統一しました、 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi/trunk/?rev=118&root=tomoyo として登録されています。 MAX_ACCEPT_FILES パラメータの適用対象を広げて MAX_ACCEPT_ENTRY に置き換える案について、 現時点では賛成3/反対0となっています。 ついでに、アクセス許可の数が MAX_ACCEPT_ENTRY 個に到達したドメインに対するアクセス許可を 読み出す際にはアクセス許可と一緒に何かのメッセージを出力してみましょうか? 例えば、 <kernel> /usr/sbin/sshd use_profile 1 # This domain has exceeded MAX_ACCEPT_ENTRY entries. 1 /bin/bash allow_network TCP accept 127.0.0.1 32768 ・ ・ ・ allow_network TCP accept 127.0.0.1 32800 のようなイメージです。 /proc/ccs/policy/domain_policy から読み出した際に # This domain has exceeded MAX_ACCEPT_ENTRY entries. みたいなメッセージが含まれていれば、 ポリシーエディタで追加漏れの有無を確認できて便利だと思います。 どんなメッセージが良いでしょう? テキスト処理のしやすさを重視するなら quota_exceeded みたいに1語のメッセージの方が便利かな?