SourceForge.JP: Open Source Software

LoginCreate AccountHelp[auto][en][zh][de][fr][ko][es][pt]

[tomoyo-users 671] TOMOYO @2ch

Tetsuo Handa from-tomoyo-users @ I-love.SAKURA.ne.jp
2009年 11月 8日 (日) 20:13:08 JST


 熊猫です。

 熊猫だけでなく原田さんも書き込み規制を受けているようですのでこちらで回答。(^^;



(1) http://pc11.2ch.net/test/read.cgi/linux/1239030346/525 について

アクセスログに対して

unlink /var/log/tomoyo/reject_log.txt
/usr/sbin/ccs-auditd /dev/null /var/log/tomoyo/reject_log.txt
sleep 3
killall ccs-auditd
sleep 3
grep -A 2 -F " mode=learning " /var/log/tomoyo/reject_log.txt | /usr/lib/ccs/convert-audit-log | ccs-sortpolicy | sed -e 's:task\.pid=[0-9]*::g' -e 's:task\.ppid=[0-9]*::g' -e 's:path1\.parent.ino=[0-9]*::g' -e 's:path2\.parent.ino=[0-9]*::g' -e 's:path1\.ino=[0-9]*::g' -e 's:path2\.ino=[0-9]*::g' | ccs-patternize --file /proc/ccs/exception_policy > /tmp/tmp1
sed -e 's/ exec\.envp\["new_expiry"\]="[0-9]*"/ exec.envp["new_expiry"]="\\$"/g' -e 's/ exec\.envp\["old_expiry"\]="[0-9]*"/ exec.envp["old_expiry"]="\\$"/g' -e 's/ exec\.envp\["pid"\]="[0-9]*"/ exec.envp["pid"]="\\$"/g' -e 's/ exec\.envp\["SEQNUM"\]="[0-9]*"/ exec.envp["SEQNUM"]="\\$"/g' -e 's/ exec\.envp\["SSH_CLIENT"\]=".*"/ exec.envp["SSH_CLIENT"]="\\*"/g' -e 's/ exec\.envp\["SSH_CONNECTION"\]=".*"/ exec.envp["SSH_CONNECTION"]="\\*"/g' -e 's: exec\.envp\["SSH_TTY"\]="/dev/pts/[0-9]*": exec.envp["SSH_TTY"]="/dev/pts/\\$":g' -e 's/exec\.argv\[0\]="ps" exec\.argv\[1\]="-p" exec\.argv\[2\]="[0-9]*"/exec.argv[0]="ps" exec.argv[1]="-p" exec.argv[2]="\\$"/g' < /tmp/tmp1 > /tmp/tmp2
ccs-loadpolicy -d < /tmp/tmp2
ccs-savepolicy

という処理(「 0 か 1 かそれ以外か」くらいしか使い道のない PID / PPID および
「 link や rename 操作に於いて path1.parent.ino と path2.parent.ino が同じか
否か」くらいしか使い道のない INO を除去し、ポート番号や秒数などの数値を
パターン化)を通すことで得られたポリシーの例( Ubuntu 9.10 server で起動から
ログインするまで)を

http://tomoyo.sourceforge.jp/cgi-bin/lxr/source/ubuntu-9.10-ccs-1.7.1/?v=policy-sample

に置きました。コマンドライン引数や環境変数なども全てチェックしてくれるような
ポリシーが生成されていますが、そのままでは実用には使えないでしょう。



(2) http://pc11.2ch.net/test/read.cgi/linux/1239030346/581 について

 まず確認ですが、既に使える状態で配布されている TOMOYO 2.2.0 ではなくて、
TOMOYO 1.7 を使いたいということですね?( TOMOYO 2.2.0 を使いたい場合は
http://thinkit.jp/article/979/1/http://sourceforge.jp/projects/tomoyo/docs/ubuntu_offline200908_tomoyo01.pdf を
参照ください。)

 Ubuntu 9.10 でのコンパイルには specs/build-ubuntu_9.10.sh をご利用ください。
generic をベースに TOMOYO パッチを適用したパッケージが生成されるので、
linux-image-2.6.31-14-ccs_2.6.31-14.48_i386.deb と
linux-headers-2.6.31-14-ccs_2.6.31-14.48_i386.deb をインストールしてください。
11/11になったら ccs-patch-1.7.1-20091111.tar.gz をアップロードしますが、
それまでは以下のようにして暫定の ccs-patch-1.7.0-20090911.tar.gz を用意して
ください。

  mkdir -p /usr/src/rpm/SOURCES/
  cd /usr/src/rpm/SOURCES/
  wget -O - 'http://sourceforge.jp/projects/tomoyo/svn/view/trunk/1.7.x/ccs-patch.tar.gz?root=tomoyo&view=tar' | tar -zxf -
  tar -zcf ccs-patch-1.7.0-20090911.tar.gz -C ccs-patch/ -- .

コンパイルが面倒という場合は、コンパイル済みのものが
http://tomoyo.sourceforge.jp/incoming/linux-image-2.6.31-14-ccs1.7.1-pre_2.6.31-14.48_i386.deb
http://tomoyo.sourceforge.jp/incoming/linux-headers-2.6.31-14-ccs1.7.1-pre_2.6.31-14.48_i386.deb
にあります。

Ubuntu 8.10 以降ではカスタムフレーバー作成スクリプトが削除されてしまった
ために、 Ubuntu から配布されている linux-headers-2.6.31-14_2.6.31-14.48_all.deb
と TOMOYO プロジェクトで配布している( include/linux/sched.h と
include/linux/init_task.h が変更された)それとが競合してしまうという悩みが
ありました。しかし、スクリプトに修正を加えることで Ubuntu 8.04 と同様に
TOMOYO パッチにより変更されたファイルを
linux-headers-2.6.31-14-ccs_2.6.31-14.48_i386.deb 内に閉じ込めることに
成功したので、 linux-headers-2.6.31-14_2.6.31-14.48_all.deb と
linux-libc-dev_2.6.31-14.48_i386.deb は Ubuntu から配布されているものを
利用することが可能になりました。



(3) http://pc11.2ch.net/test/read.cgi/linux/1239030346/582 について

patch -sp1 < patches/ccs-patch-2.6.31-ubuntu-9.10.diff というのは、
ccs-patch-2.6.31-ubuntu-9.10.diff の中のパス名の先頭から最初のスラッシュまでを
削除することで得られるパス名のファイルに対して適用するという指定です。
patches/ccs-patch-2.6.31-ubuntu-9.10.diff の中のパス名は
linux-2.6.31-10.31.orig/fs/attr.c となっていますから、 patch -sp1 という指定を
した場合、 fs/attr.c に対して適用しようとします。カーネルソースは
「~/ダウンロード/linux-2.6.31」に展開されているのですから
「 cd ~/ダウンロード/linux-2.6.31」のようにして linux-2.6.31 に移動してから
patch -sp1 < patches/ccs-patch-2.6.31-ubuntu-9.10.diff のようにしてやらないと
fs/attr.c が見つからないと言われてしまうわけです。




tomoyo-users メーリングリストの案内