グループと許可属性 |
|
BOINC のサーバ側プログラムは以下の2つのユーザ権限で動作します。
/etc/group を編集して、apache が グループ boinc に所属するようにします。 すなわち、
boinc:x:566:
という行を、
boinc:x:566:apache
と変更します。
(この修正の効果を発揮させるためには、apache を一旦とめて、再起動が必要になります)。
BOINC プロジェクトを作るときに、 make_project を使うなら、 問題になるディレクトリ群は、boincadm の所有になり、 set-GID ビットがオンに設定されます。 とういことは、これらのディレクトリの中に apache によって作らる ファイルやディレクトリのグループ許可属性は、 グループ apache ではなく、 グループ boinc になります。 BOINC ソフトウェアはすべてのディレクトリを グループに対して、読み出し可・書き込み可に設定します。 このようにして、apache と boinc の両方が問題のディレクトリとファイルに 読み書き可のアクセスができるようになり、それ以外のユーザにはアクセスを許しません。
既存プロジェクトでは、以下のようにして下さい。
chmod 02770 upload chmod 02770 html/cache chmod 02770 html/inc chmod 02770 html/languages chmod 02770 html/languages/compiled chmod 02770 html/user_profilesさらに、これらのディレクトリとそのサブディレクトリの所有権を boincadm/boinc に変更する必要があるかもしれません。
同一のサーバマシン上で複数のプロジェクトを動作させていて、 かつ、それらプロジェクト間を隔離したいとしましょう。 この場合は、プロジェクトごとに異なるユーザとグループを設け、 apache をそれら全てのグループに追加するという方法が使えます。
下記のやり方は動作すると思われますが、セキュリティ上の弱点を作ってしまう可能性があります。
apache:x:48:
の行を
apache:x:48:boincadm
と変更する。
下記の 2行を apache を起動するスクリプトの先頭に付加する
(このスクリプトは apachectl という名で、通常 Linux では /usr/sbin に置かれています)。
umask 2
export umask
この変更が効果を発揮するようにするには、一旦 apache を停止し、再起動する必要があるでしょう。
これ以降 apache が作るすべてのファイルは、(umask のおかげで) グループに対して書き込み可となり、
さきほどグループ apache に含めたユーザ boincadm が
それらのファイルを更新・削除することができるようになります。
最終更新時刻 14:02:12, 2006年10月17日(JST)
Copyright © 2008 University of California.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License,
Version 1.2 or any later version published by the Free Software Foundation.
Copyright © 2008 Komori Hitoshi(je2bwm at jarl.com).
Japanese translation from English web pages on BOINC.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License,
Version 1.2 or any later version published by the Free Software Foundation.