Tetsuo Handa
from-****@i-lov*****
2008年 3月 6日 (木) 13:40:30 JST
熊猫です。 > はじめまして。上田と申します。 いらっしゃいませ。 > ...公式ページの説明に若干誤字等があり、迷いつつもTOMOYOカーネル > にて起動できるようになりました。また、ccs-toolsもtar玉よりインストール > し、init_policy.shを実行済みです。 誤字脱字・不明な点など見つけましたら遠慮なくご指摘ください。 > 旧版の場合は、GRUBにて「 .... ro root=LABEL=/ CCS=0」 > といったような方法もあるようですが、現バージョンのプロファイルは > 「profile.txt」ではなく「profile.conf」のなので、適切な設定方法が別に > あるのでは?と思い、質問させていただいた次第です。 GRUB で CCS=数値 を指定するのは、ドメイン単位で制御モードを 切り替えることができなかったバージョン 1.2 までの手順です。 バージョン 1.3 以降では /etc/ccs/domain_policy.conf の中の use_profile というキーワードを指定することでドメイン単位で制御モードの切り替えができるので、 起動時に制御モードを切り替える方法は(アクセス制御が原因でシステムが起動できなくなってしまった場合に アクセス制御を無効化した状態で起動させるために指定する CCS=disabled 以外に)存在しません。 バージョン 1.3 以降のドキュメントは「特定のプロセスだけにアクセス制御を適用する」ことを 前提とした内容になっています。(もちろん、「全てのプロセスに対してアクセス制御を適用する」ことも可能です。) /etc/ccs/profile.conf に「無効モード用」「学習モード用」「確認モード用」「強制モード用」の 全てのプロファイルを作成しておき、 /etc/ccs/domain_policy.conf の中の use_profile というキーワードで /etc/ccs/profile.conf の中のどのプロファイルを使うかを指定することで制御モードを切り替えるようになっています。 ただし、バージョン 1.2 までと同様の使い方をするための裏技として、 /etc/ccs/profile.conf だけでなく /etc/ccs/profile-0.conf とか /etc/ccs/profile-1.conf を 使うこともできます。例えば /etc/ccs/profile-0.conf には「学習モード用」のプロファイルだけを、 /etc/ccs/profile-1.conf には「強制モード用」のプロファイルだけを作成しておき、 GRUB にて CCS=0 とか CCS=1 とか指定することで起動時に制御モードを切り替えることができます。 > ポリシー作成等の記述はあるものの、学習が完了した後に 強制モード を > 指定して起動する妥当な方法がわかりません。 この質問への回答は、「全てのプロセスに対してアクセス制御を適用」したいのか 「特定のプロセスだけにアクセス制御を適用」したいのかによって異なります。 前者であるならば、 「システムのシャットダウンスクリプトの最後の方で savepolicy コマンドを実行することで ポリシーファイルを保存してから電源を切る」 「 GRUB のコマンドラインから CCS=数値 を指定することで制御モードを指定する」 という手順になります。 後者であるならば、 「保護したいプロセスの動作しているドメインに対して setprofile コマンドを用いて 強制モード用のプロファイルを割り当てる」だけです。 プロファイルの変更は直ちに反映されますので、 システムの再起動や起動中のプロセスの再起動は不要です。