[Tomoyo-dev 1140] Re: ccs-tools を 1.6.x/2.2.x で分離、および 2.2.x へのページ誘導について

Back to archive index

from-****@i-lov***** from-****@i-lov*****
2009年 7月 27日 (月) 16:26:20 JST


 熊猫です。

> いくつか決めなければいけないことがあります。
> 
 反応が無かったので以下の仕様で固めました。

> (1)スクリプトで実装していた tomoyo_init_policy.sh はCプログラムの
>    tomoyo_init_policy.c に置き換えられたため、 tomoyo_init_policy.sh は
>    tomoyo_init_policy へのシンボリックリンクになりました。
> 
>    ドキュメントでは ccs-tools パッケージの tomoyo_init_policy.sh を
>    実行するようになっていますが、 tomoyo-tools パッケージに置き換わった後も
>    tomoyo_init_policy.sh を残しておきますか?それとも tomoyo_init_policy
>    だけで良いですか?
tomoyo_init_policy.sh を残しました。

> 
>    tomoyo_init_policy は( tomoyo_init_policy.sh と入力するつもりで
>    tomoyo_init_policy までで Enter を押してしまうというミスを避けるために)
>    init_policy という名前にしておいた方が良いですか?
tomoyo_init_policy という名前のままにしました。

> 
> (2)スクリプトで実装していた tomoyo-init はCプログラムの tomoyo-init.c に
>    置き換えられました。
> 
>    現在 http://bugs.gentoo.org/show_bug.cgi?id=278513 にて tomoyo-init が
>    /sys/ と /sys/kernel/security/ をアンマウントしないために起動スクリプトが
>    失敗するという状況が発生しています。しかし、 tomoyo-editpolicy などは
>    /sys/kernel/security/ がマウントされていないと動作できません。
> 
>    tomoyo-init で /sys/ と /sys/kernel/security/ をアンマウントさせますか?
アンマウントさせることにしました。

>    アンマウントさせる場合、 /sys/kernel/security/ のマウントはどのように
>    行わせますか?
実行時にマウントするようにしました。

カーネル 2.6.16 以降では unshare(CLONE_NEWNS) を使うことで mount() の効果が
他のプロセスの名前空間に及ばないようにできます。 tomoyo-tools はカーネル 2.6.30
以降を対象としているので、 /sys/kernel/security/tomoyo/ へのアクセスが
必要となるプログラムの開始時に

	if (access("/sys/kernel/security/tomoyo/", X_OK)) {
		if (unshare(CLONE_NEWNS) ||
		    mount("none", "/sys/kernel/security", "securityfs", 0,
			  NULL)) {
			fprintf(stderr, "Please mount securityfs on "
					"/sys/kernel/security/ .\n");
		}
	}

という処理を入れておけば、他のプロセスからは securityfs をマウントしたことが
見えないようにできます。難点は unshare(CLONE_NEWNS) も mount() も
CAP_SYS_ADMIN 権限が必要となるため、 Ubuntu のように一般ユーザでログインする
システムの場合、 sudo または setuid root で実行してもらうか、 /etc/fstab で
securityfs をマウントするよう設定してもらわないといけないことです。
( Ubuntu では AppArmor の初期化スクリプトが勝手に securityfs をマウントして
くれるかなぁ?)

> 
> (3)ログイン認証の強化のためのプログラムの内、 1.x でしか意味を成さないものを
>    削除しました。
> 
>    残っている candy chaplet checktoken falsh gettoken groovy honey mailauth
>    timeauth は 2.x でも利用できますが、残しますか?それとも削除しますか?
>    ( falsh を削除すると readline ライブラリへの依存を無くせます。)
削除しました。
これにより、コンパイルに readline パッケージは不要になりました。

> 
> (4) /usr/lib/ がシンボリックリンクな環境への対処はどうしましょう?
これは Gentoo の話ですので何か問題が見つかりましたらお知らせください。

> 
> (5)tomoyo-setlevel は echo | tomoyo-loadpolicy -p で代用できるのですが、
>    残しますか?それとも削除しますか?
残しました。

> 
> (6)tomoyo-checkpolicy は誰も使っていないと思いますが、残しますか?それとも
>    削除しますか?
残しました。



tomoyo-tools パッケージは TOMOYO 2.2 専用です。なので、 [Tomoyo-dev 1095] で
挙がっていた、 Recommends: linux-patch-tomoyo を削った状態でパッケージ申請を
お願いします。

http://osdn.dl.sourceforge.jp/tomoyo/41908/tomoyo-tools-2.2.0-20090727.tar.gz
MD5SUM: cc97558865b2723834009fda2210f33f




tomoyo-dev メーリングリストの案内
Back to archive index