Tetsuo Handa
from-****@i-lov*****
2008年 3月 3日 (月) 10:02:35 JST
熊猫です。 > Seijunです。詳細なご回答、どうも有り難うございました。操作が間違ったのかも > 知れないので、savepolicy コマンドを実行する前の状態に戻したいのですが、 > > ls -l /etc/ccs/ > としてみると、 > domain-policy.08-03-02.17:36:11.conf > というファイルがあり、 > domain-policy.confはこのファイルにリンクされています。その他のファイルも同 > 様です。しかし、それ以前の日時のファイルはありません。savepolicy コマンド > を実行した日時はこの日時だったような気がしますが、どうも最初期の状態(学習 > モードでコマンドを実行する前の状態。最初に、Tomoyo kernelで起動したときの > 状態)に戻れないようです。 savepolicy を実行した日時をファイル名に含んだファイルを作成するのは savepolicy 自身であるため、 savepolicy を初めて実行するよりも前の日時を ファイル名に含んだファイルは存在しませんので、上記の状態で正常です。 TOMOYO カーネルで初めて起動するときの状態に戻す場合は、 /etc/ccs/ ディレクトリの内容を削除してから init_policy.sh を実行してください。 rm -fR /etc/ccs/ init_policy.sh --file-only-profile init_policy.sh を実行した直後の /etc/ccs/domain_policy.conf は <kernel> use_profile 0 という内容になっているはずです。 その後、再起動すると TOMOYO カーネルで初めて起動したときの状態に戻ります。 > なお、CentOSを起動後、 > # setprofile -r 3 '<kernel> /sbin/mingetty' > を実行後も、lsコマンドやpwdコマンドが実行できてしまいます。rebootコマンド > は「操作が許されていないぞ」と怒られました。 (1) pwd を実行できてしまうのは bash のほうでしょうか? bash にはビルトインコマンドとしての pwd が含まれているため、 明示的に /bin/pwd のように実行しないと bash ビルトインコマンドの pwd が 実行されてしまいます。ビルトインコマンドの場合はプログラムの実行を伴わないため、 TOMOYO Linux カーネルによる実行可否の制御が行えません。 (2) ls が実行できてしまうというのは不思議ですね。 ls はビルトインコマンドでは無かったと思いますが・・・。 明示的に /bin/ls のように入力した場合も実行できてしまいますか? (3) (2) において /bin/ls のように入力した場合も実行できてしまう場合、 domainmatch コマンドを使って /bin/ls の実行許可が与えられているかどうかを確認してください。 domainmatch /bin/ls もし、 /bin/ls の実行許可が与えられている場合、上記のコマンドを実行すると <kernel> /sbin/mingetty /bin/login /bin/bash 1 /bin/ls のような内容が表示されるはずです。 (4) (3) において domainmatch を実行しても何も表示されない場合には、 grep /bin/ls /proc/ccs/domain_policy を実行してみてください。もし、ビルトインコマンドではない ls が実行されていた場合には <kernel> /sbin/mingetty /bin/login /bin/bash /bin/ls のような内容が表示されるはずです。 (5) (4) においてシェルから /bin/ls を実行している形跡が見当たらない場合、 savepolicy を実行してから /etc/ccs/domain_policy.conf の内容を メール本文に貼り付けてください。 よろしくお願いします。