[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[kagemai-users:0343] Re: コンフィグファイルとsafe



福岡です。

Eto Yasuo san wrote:
 
| > kagemai.conf の owner やパーミッション、
| > guest.cgi を動かす ruby プロセスの権限はどうなっているんでしょうか。
| 
| kagemai.conf の owner は、setup-kagemai を実行したユーザとなりますので、
| 基本的には apache などを動かしているユーザでも superuser でもない一般ユーザ
| となります。パーミッションはどうとでもなるのですが、とりあえず777にしてみました。
| 本当は777とか嫌なのですが、とりあえず、、、

問題は、一般ユーザの権限で設定したディレクトリに apache が書き込み
できる必要があって、パーミッションが 777 だとセキュリティエラーに
なるということですね。

回避方法はいくつかあると思いますが、もっとも簡単なのはディレクトリの
パーミッションを 775 にして、apache が書き込みできるグループにして
しまうことです。ただ、これだと一般ユーザの権限だけでは無理かもしれません。
# ちなみに、前のメールで私が同じような状態で動いているといったものは、
# こうなっていました。

別の案として、apache とユーザが書きかえられるディレクトリを用意して
おいて、全てのユーザの kagemai.conf をそこに(別の名前で)保存する
のはどうでしょう。

例えば、もし全ての一般ユーザが users グループに属するような古典的な
場合なら、owner が apache、group が users でパーミッションが 775 の
ディレクトリを適切な権限を持った人が事前に作っておきます。そして、
そのディレクトリに ユーザID の名前で設定ファイルを作るようことにします。
setup.kagemai というスクリプトで guest.cgi を各ユーザのディレクトリに
コピーしたときに、そのパスを guest.cgi に設定してやる感じです。ユーザID
が fukuoka なら、fukuoka.conf という名前で保存すれば良さそうです。

まあ、設定ファイルを本来の持ち主とは別の人が書きかえたりできてしまう
わけですが、apache の権限で CGI を動かすのであればそんなものかなと。
それが嫌なら suExec とかでしょうか。

-- 
福岡ともゆき <fukuoka@xxxxxxxxxxxxx>
http://www.daifukuya.com/