Tetsuo Handa
from-****@I-lov*****
2007年 10月 15日 (月) 20:22:48 JST
熊猫です。 > 手元で ccstools ちょっとだけやってみました。 > 気になった点 > ・ccs-init、 tomoyo-init、 init_policy.sh、tomoyo_init_policy.sh > が #! /bin/bash になっている。bash 依存よくないっす 上記プログラムに関して /bin/bash ではなく /bin/sh で動作できるようにした バージョンを Subversion にアップロードしました。 domainmatch に関しては /bin/bash を /bin/sh に置き換えただけです。 init_policy.sh と tomoyo_init_policy.sh に関しては、 for (( ... )) という構文が /bin/sh ではサポートされていなかったので for i in `seq .. ..` という構文に書き換えた上で /bin/bash を /bin/sh に置き換えました。 ccs-init および tomoyo-init に関しては以下のような仕様にしてみました。 ・デフォルトではプロンプトを表示して10秒待ち、 Enter キーが押された場合は /etc/{ccs,tomoyo}/profile.conf を読み込む。 ↓ デフォルトでは /etc/{ccs,tomoyo}/profile.conf を読み込むようにし、 プロンプトを表示しない。 ・使用するプロファイルはカーネルのコマンドラインでだけ指定できる。 ↓ カーネルのコマンドラインだけでなく ccs-init および tomoyo-init を実行する際の コマンドラインでも指定できる。これにより、 init=/bin/sh でとりあえず起動して /sbin/ccs-init CCS=ask という形で指定することも可能になる。 ・ポリシーディレクトリ( /etc/{ccs,tomoyo}/ )や指定されたプロファイルが見つからない場合には ポリシーのロードに失敗することでカーネルパニックになる。 ↓ ポリシーディレクトリ( /etc/{ccs,tomoyo}/ )や指定されたプロファイルが見つからない場合には タイムアウト無しのプロンプトを表示し、 ユーザに「無効モードで起動する」か「 Ctrl-Alt-Del で再起動する」かを選ばせる。 ・「 CCS=ask が指定された場合」あるいは「デフォルトまたは指定されたプロファイルが見つからない場合」には 必ずプロンプトを表示する。 プロンプトにはタイムアウトを設定せず( /bion/sh ではタイムアウト処理を設定できない)、 (ユーザの意思を確認するために) Enter だけの入力を無視する。 ccs-init および tomoyo-init の処理内容は基本的に cat で書き込むだけです。 従来のポリシーローダを使うこともできますし、用途に合わせて好きなようにカスタマイズできますので、 上記のように仕様が変更されると困るという方は少ないと考えています。 現在はそれぞれ ccs-init-test と tomoyo-init-test という名前でアップロードしてあります。 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=tomoyo&view=rev&rev=580 操作方法の変更になるので ccs-init と tomoyo-init を上書きする前に TOMOYO-users にも周知しておきたいと思います。