Tetsuo Handa
from-****@I-lov*****
2006年 9月 25日 (月) 15:51:24 JST
熊猫です。 > はじめましてみなさん、たけだといいます。 いらっしゃいませ〜♪ > プロファイルを親ドメインから継承できるようにするのはいかがでしょう? 昨日試作したものでは、 新規のドメインへ遷移する場合は遷移元ドメインが使用しているプロファイル番号を引き継ぎ、 既存のドメインへ遷移する場合は遷移先ドメインが使用しているプロファイル番号を使用します。 (注意: AppArmor ではプロファイルとはアクセス許可のことを指していますが、 TOMOYO ではプロファイルとは制御レベルのことを指します。 TOMOYO が遷移元ドメインに 対して与えられたアクセス許可を引き継ぐようになるのではないことにご注意ください。) > ・ドメインごとのプロファイルを個別設定できるsetlevel-domainというツールを追加 確認と指定を簡単にするためにドメイン用ポリシーの 「<kernel> で始まるドメイン名の定義」(改行) 「use_profile プロファイル番号」(改行) という内容だけを切り出して 「プロファイル番号」「<kernel> で始まるドメイン名の定義」(改行) という行単位の処理に適したDBMSのビューみたいなものを用意するつもりです。そうすれば cat /proc/ccs/policy/.domain_status | sort で一覧を確認できますし、 > ドメイン個別にプロファイルを設定したいときは、 > setlevel-domain '<kernel> /usr/sbin/httpd' MAC_FOR_FILE=3 > setlevel-domain '<kernel> /usr/sbin/sshd' MAC_FOR_FILE=1 個別に指定したい場合は echo 「プロファイル番号」「<kernel> で始まるドメイン名の定義」 | cat > /proc/ccs/policy/.domain_status 相当の処理で実現できます。 > Apacheの下に属するドメインはすべて強制モードで動作する、といった具合です。 再帰的に適用される機能は無くても大丈夫だと思います。 > <kernel>ドメインのプロファイルを変更することで、 > システム全体のプロファイルを変更することができます。 再帰的に適用したい場合は(例えばプロファイル 2 に変更する場合) grep -F '<kernel> で始まるドメイン名の定義' /proc/ccs/policy/.domain_status | awk ' { $1 = "2"; print $0; } ' > /proc/ccs/policy/.domain_status 相当の処理を実行すれば済むでしょう。