Kentaro Takeda
k.tak****@gmail*****
2007年 7月 30日 (月) 17:10:45 JST
たけだです。 7月27日の開発会議夜の部に参加していない人には唐突ですので少しだけ解説を。 現在の仕様でLinuxの文化的に変なところを直して1.5としてリリースした方がよい、 ということで、その変更を議論したいと思います。 たけだが変えたほうがよいと思うものをリストアップして、案を提示します。 ■設定ファイルの置き場所(/etc/ccs → /etc/tomoyo) 現在は/etc/ccsですが、ccsよりはtomoyoが適切かと。 これにあわせて/proc/ccs → /proc/tomoyoの方がよいのでは。 ■設定ファイルに拡張子(domain_policy.txt → domain_policy) 現在は全ての設定ファイルに.txtがついていますが、削ったほうが自然。 ■プロファイルを保存する設定ファイル(status → profiles) 1.3から複数プロファイルを持つようになったので。 ■/proc以下の構造 infoとpolicyを分けるほど数がないのでフラットに配置してもいいのでは。 ■ルートディレクトリがマウント済みであることをカーネルが判断するためのファイル (/.init → /sbin/tomoyo-init) このパスはTOMOYOカーネル中にハードコードする必要あり。 後述のポリシーローダと同じである必要は実はないので、他のファイルでもいいかも。 ■ポリシーローダ(/.init → /sbin/tomoyo-init) ルートディレクトリよりは/sbinでしょうか。 できることならカーネルコマンドラインなしで動作させたいところ。 ■ポリシーローダ以外のツールの置き場所(/root/ccstools → /usr/sbin) これは現状でも決められてないですが、意味的に/usr/sbinに置くべきかと。 熊猫先生のメールに >システム管理ツールであり、起動直後から使える必要があるので、 >/ ディレクトリと同じパーティション上に置く必要があります。 とありますが、ポリシーローダ以外は別に/usr/sbinでいいのでは? 名前が重ならないように、各ツールにtomoyo-というプレフィックスを つけたほうがいいですね。 皆さんはこれら(これ以外の点でも)についてどう思われますか? 07/07/30 に from-****@i-lov*****<from-****@i-lov*****> さんは書きました: > 先週の開発会議で話が出てきた、TOMOYO Linux ツールの置き場所と > TOMOYO Linux ポリシーファイルの置き場所についての変更案です。 > > > > <<ツールについて>> > > システム管理ツールであり、起動直後から使える必要があるので、 > / ディレクトリと同じパーティション上に置く必要があります。 > そのため、 /root/ccstools/ 以外の候補としては /sbin/ /bin/ /etc/ あたりになるでしょう。 > /usr/ は / とは別パーティション上である可能性があるという理由から不適切です。 > よって、パッケージ化してインストールする場合でも、 > インストールルートは /usr/ や /usr/local/ ではなく / になるでしょう。 > > /sbin/ /bin/ /etc/ のいずれに置く場合でも、既存のプログラム名と衝突しないようにする必要があります。 > 例えば /root/ccstools/checkpolicy は TOMOYO Linux のポリシーをチェックするためのプログラムですが、 > SELinux でも /usr/bin/checkpolicy というプログラムが使われています。 > そのため、 checkpolicy という名前のまま /sbin/ 等に置くのは避けなければいけません。 > > TOMOYO Linux では以下のツールが提供されています。 > > realpath > checkpolicy > ccstools > editpolicy_offline > make_exception.sh > setlevel > ld-watch > editpolicy > .init > patternize > ccs-queryd > domainmatch > loadpolicy > init_policy.sh > savepolicy > setprofile > make_file_pattern.sh > pathmatch > findtemp > sortpolicy > ccstree > ccs-auditd > make_allow_read.sh > make_alias.sh > > 衝突を避けるために、これらのプログラム名に対して > tomoyo- なり ccs- なり tmy- なりのプレフィックスを付けるなどの加工が必要です。 > > > > <<ポリシーファイルについて>> > > ポリシーファイルの置き場は /etc/ 以下になると思うので、 > 候補としては /etc/ccs/ か /etc/tomoyo/ か /etc/tmy/ あたりになるでしょう。 > > TOMOYO Linux では以下のポリシーファイルが使われています。 > > status.txt ・・・プロファイル(制御方法)を定義する。 > status-数字.txt > > domain_policy.txt ・・・ドメイン単位で与えるアクセス許可を定義する。学習モードにより更新される。 > domain_policy.作成日-作成時刻.txt > > exception_policy.txt ・・・ドメイン遷移などの例外処理を定義する。学習モードにより更新されない。 > exception_policy.作成日-作成時刻.txt > > system_policy.txt ・・・システム全体で与えるアクセス許可を定義する。学習モードにより更新される。 > system_policy.作成日-作成時刻.txt > > manager.txt ・・・ /proc/ccs/ 経由でポリシーの変更を許可するプログラムやドメイン名を定義する。 > > mapping.txt ・・・ TOMOYO 1.0.2 のように振舞わせる。 > > 上記のポリシーファイルの取得/更新用として /proc/ccs/ には以下のインタフェースファイルが提供されています。 > ポリシー置き場に合わせると、候補としては /proc/ccs/ か /proc/tomoyo/ か /proc/tmy/ あたりになるでしょう。 > > status > > domain_policy > > exception_policy > > system_policy > > manager > > mapping > > その他に、 /proc/ccs/ には以下のインタフェースファイルも提供されています。 > > query ・・・ 強制モードにおいて対話的にアクセス要求の諾否を指定する。 > > .domain_status ・・・ ドメインのプロファイルを切り替える。 > > .process_status ・・・ カレントプロセスが属するドメインのプロファイルを取得する。 > > grant_log ・・・ ポリシーに違反しなかったアクセス要求のログを取得する。 > > reject_log ・・・ ポリシーに違反したアクセス要求のログを取得する。 > > self_domain ・・・ カレントプロセスが属するドメインのドメイン名を取得する。 > > meminfo ・・・ ポリシーやログが使用しているメモリの量を取得する。 > > .updates_counter ・・・ ポリシーに変化があったかどうかを取得する。 > > 要望としては、 > > (1) ポリシーファイルの末尾の .txt を付けないようにする > (2) status ではなく profile に変更する > > が挙がっています。 > > _______________________________________________ > tomoyo-dev mailing list > tomoy****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/tomoyo-dev >