cgiの実行者について
[上に]
[前に]
[次に]
ふじもと
[E-Mail]
2000/06/07(水) 21:38:01
こんにちは。
家でlinuxのapacheをcgiの実行テストに使用してるのですが、
cgiの実行者がnobodyになっています。
これをユーザIDで行うことができると思うんですけど、どうしたらいいのでしょうか?
httpd自体はnobodyのままが一番よいのですが。
suEXECってやつをいれるしかないんですか?
andi
2000/06/08(木) 00:08:26
CGIから実行させたいユーザでログインさせて・・・
ってのはできませんか?
最近同じような話をうちのサーバの管理人としていました。
その時は、ディレクトリをnobodyで作成した際に削除できなくなる
ので、CGIを実行した際にftpやtelnetでログインして
ディレクトリを作成すればnobodyでなくなると。
面倒ですね(笑)。
あるいはやはりSuExecを導入すると言っていました。
・・・この辺りあまり知識がないので嘘を言ってるかもしれません。
ヒソカ
2000/06/08(木) 01:11:59
http://www.imicom.or.jp/cgiwrap/
ここ参照。
ふじもと
2000/06/08(木) 21:49:51
[[解決]]
英語っすね。
翻訳中。
とりあえず、やってみます。
さんきゅです。
ふじもと
2000/06/09(金) 21:18:58
いや、ちょっとまってください。
cgiwrapとかsuEXEC使わなくても、apache自体にオーナ権限でcgi走らせる方法ないですか?
なんかモジュール突っ込むとか。
あるような話もちらほらと聞いたんですが。
ふじもと
2000/06/09(金) 21:28:27
>CGIから実行させたいユーザでログインさせて・・・
>ってのはできませんか?
できるんですか?
>その時は、ディレクトリをnobodyで作成した際に削除できなくなる
>ので、CGIを実行した際にftpやtelnetでログインして
>ディレクトリを作成すればnobodyでなくなると。
ちょっと分からないです。実行した際にtelnetで入るってどういうことですか?
cgiでtelnetするってことですか?
自らディレクトリを作った場合って、nobodyでも書けるようにモードを666とかに
しないとだめですよね。
それってあまり良くはないかなと思って、オーナ権限で動かしたいなと思ってます。
ちなみにcgiWrapは解決しました。
:-)
2000/06/09(金) 21:31:54
suidperl なんてどーですか?
http://x68000.startshop.co.jp/~68user/webcgi/permission.html#4
ふじもと
2000/06/09(金) 21:55:22
そんなのもあるんすね。
自分の場合は、apacheをいじってるので、できればそちらよりの助言もお願いします。
やはりcgiwrapとかしかないんすかね?
mod_cgi_sugidとかsuCGIってのをちょっと見たんですが、細かい情報が見当たりません。
検索中です。
ヒソカ
2000/06/09(金) 22:30:16
他に、方法があれば(若しくは可能性だけでも可)どんどん
候補に上げてほしいね。
環境が違えばきっと違った解決法を求められる場合もあるからね。
自分の引き出しも増えることだし。
フィードバックよろしく! > ふじもと氏
B-Cus
2000/06/09(金) 22:33:05
> suEXEC使わなくても、apache自体にオーナ権限でcgi走らせる方法ないですか?
suExec はそんな面倒なものではないです。
有効にするには、configure で --enable-suexec
(と その他 --suexec-* オプション) を設定して、make。
http://www.apache.org/docs/suexec.html
# http://japache.infoscience.co.jp/japanese_1_3/manual/suexec.html は古すぎ。
…という設定が面倒なんだということなら、失礼。
BAn
2000/06/10(土) 11:24:08
これって、スティッキービットを設定するのとは
違うレベルの話なんですか?
ふじもと
2000/06/10(土) 11:53:41
>suExec はそんな面倒なものではないです。
そうですね。一応suEXECの方もやってみます。
>これって、スティッキービットを設定するのとは
>違うレベルの話なんですか?
chmod 4755とかってことですか?
もしそうだとしたら、そーではないです。
アパッチをいじってるので。
#アパッチに対してのs操作もあるって事なんすか?
B-Cus
2000/06/10(土) 13:55:54
> これって
というのがどれを指してるか分かりませんけど、sticky と setuid は
全く別物です。sticky はディレクトリに対して立てるもので、
そのディレクトリの下のファイルの削除に関する設定をします。
# SysV 系なら新規作成したファイルのグループ設定にも関わってくる。
ふじもと
2000/06/10(土) 14:01:45
>sticky と setuid は全く別物です
へー。
ぜんぜん知りませんでした。
色々勉強になります。
BAn
2000/06/11(日) 03:44:12
>sticky と setuid は全く別物です
マニュアル見ました。
chmod +s file で設定するから、
sticky の略なのだと思い込んでました。
勉強になりました。
便乗質問で申し訳ないのですが、
SuExec って、CGI を
-rwx------ で実行できる apache の機能なんですか?
-rws-----x で実行した場合と比べて、どういう
利点があるのでしょうか?
B-Cus
2000/06/11(日) 04:45:19
> -rwx------ で実行できる apache の機能なんですか?
そうです。
> -rws-----x で実行した場合と比べて
一言で言えば「apache 以外のユーザが実行しても所有者権限で
動かない」でしょうか。
よって、クラッカーが悪さをしようとしても CGI 経由でしか
できないので、環境変数を勝手にいじったり、カレント
ディレクトリを変えたりすることができません。
ですから、ちゃんと考えて作られているプログラムなら
suid でも suExec でも cgiwrap でも構わんでしょう。
あとは sh,csh スクリプトでも OK とか、スクリプトを
いじるたびに chmod +s しなくていいとか (これがまためんどくさい)。
ふじもと
2000/06/11(日) 09:39:22
>よって、クラッカーが悪さをしようとしても CGI 経由でしか
>できないので、環境変数を勝手にいじったり、カレント
>ディレクトリを変えたりすることができません。
そうゆうことなんですよね。
cgiでtelnetぽく出来るような危険なスルリプトは厳禁ですね。
みなさん本当にありがとうございました。
色々勉強になりました。
BAn
2000/06/11(日) 13:06:51
>ですから、ちゃんと考えて作られているプログラムなら
>suid でも suExec でも cgiwrap でも構わんでしょう。
より簡単に安全性を高める。
って感じですか。
ありがとうございます。
[上に]
[前に]
[次に]