68user's page 掲示板

Prev< No. 549> Next  [最新発言に戻る] [過去ログ一覧]
No. 549 # 68user 1999/11/17 (水) 18:50
> これからもがんばってください。
どもども。ありがとうございます。

> CGIが「自分 グループ 他人」の「他人」の権限で動くんです。
正確には、nobody 権限で動く、でしょうね。

> ところがCGIが他人の権限で動くのはまずいらしいので
これは管理者の方針によります。web しか置いていないサーバでは
各ユーザ権限で動かす方が安全でしょうけど、学校のようにメールや
いろんなデータが置いてあるサーバで各ユーザ権限で動かすのは
危険 (CGIに穴があるとメールなども全て見られてしまう)、
という考え方もあります。

> 調べてみた所,User命令
それは、例えば apache を nobody 権限でなく www (というユーザ)
の権限で動かしたい場合に使います。

例えば locate のデータなども、nobody 権限で作成されるので、
本来 apache は nobody 権限でなく www などの専用アカウントを
作って、その権限で動かした方が安全です。

で、結論としては
    http://japache.infoscience.co.jp/japanese_1_3/manual/suexec.html
を使います。これを使うと CGI/SSI ともに各ユーザ権限で動きます。

長々と語っておいてアレですが、僕は suExec を設定したことはないです。
上のリンクにはコンパイルがどうこうって書いてありますが、必要なのかなぁ。
ソース持ってきて
    % ./configure --enable-suexec
とするのではダメなんでしょうか。いろいろ試してみて下さい。

これとは別に、cgiwrap というのを使う方法もあります。
    ftp://ftp.win.or.jp/pub/network/www/cgiwrap

これだと CGI だけ各ユーザ権限で動きます。コンパイルして
/usr/local/apache/cgi-bin/cgiwrap にインストールして、
    http://localhost/cgi-bin/cgiwrap/~username/cginame.cgi
とすると、/~username/cginame.cgi が username の権限で動きます。
httpd.conf に
    AliasMatch "^/([^/]+)/cgi-bin/(.*)$" "/cgi-bin/cgiwrap/$1/$2"
などと書いておくと、/~username/cgi-bin/hoge.cgi にアクセスしただけで
各ユーザ権限で動かすこともできますね。

ん〜長くなってしまった。

Prev< No. 549> Next  [最新発言に戻る] [過去ログ一覧]