重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

サーバーを運用しているのですが、以下のように設定するには、どのようにしたら良いのでしょうか。

1、CPUの割り当て時間を制限する。(一定時間でタイムアウトする。)
2、1つのスクリプトが実行中に使用できるメモリ量を制限する。

これらは、おそらく「Cシェル」の「limit」コマンドで行うものとの認識を持っているのですが、それでよろしいでしょうか。

Apacheの設定に「RLimit~」というディレクティブがありますが、これらはApache本体の制限で、ユーザーごとの実行制限ではない、という認識を持っているのですが、それで間違いないでしょうか。

3、1ユーザーが、一度に起動できるCGIの数を1つにする。

これは、どのように設定すれば良いのでしょうか。
ユーザーの認識が問題となるので、「suEXEC」となにか関係があるのでしょうか。

よろしくお願いします。

A 回答 (1件)

あんまり詳しくないのですが、RLimit* の解釈はだいたいそういう


認識でいいんだと思います。CGIごとに制限するには、そのCGIのプ
ログラム側でなにかをしてやる必要がありそうです。

perl で直接いじれたらいいんですが、どうも具合のいいのはなさ
そうですね。(syscall を呼べばできなくはなさそうですけど)
csh か、zsh, bash あたりを一度呼んでから、その中で目的のCGI
プログラムを起動することになりそうです。

あと、ユーザごとのCGI数の制限に関しては、なにを1ユーザとする
かですね。クライアントのIPアドレス1個が1ユーザなのだとすると、
IPアドレスごとにロックをかけて、自分が2ユーザ目以降なら停止
するとか終了するとかするように作ることになると思います。

直接的な解決につながるかはわかりませんが、apache関連のメーリ
ングリストのアーカイブから参考になりそうなのを拾いましたので、
たどっていってみてください。

http://apacheml.ecc.u-tokyo.ac.jp/ml/msg00380.html
http://apacheml.ecc.u-tokyo.ac.jp/ml/msg05329.html
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!