質問: サーバーを運用しているのですが、以下のように設定するには、どのようにしたら良いのでしょうか。 1、CPUの割り当て時間を制限する。(一定時間でタイムアウトする。) 2、1つのスクリプトが実行中に使用できるメモリ量を制限する。 これらは、おそらく「Cシェル」の「limit」コマンドで行うものとの認識を持っているのですが、それでよろしいでしょうか。 Apacheの設定に「RLimit~」というディレクティブがありますが、これらはApache本体の制限で、ユーザーごとの実行制限ではない、という認識を持っているのですが、それで間違いないでしょうか。 3、1ユーザーが、一度に起動できるCGIの数を1つにする。 これは、どのように設定すれば良いのでしょうか。 ユーザーの認識が問題となるので、「suEXEC」となにか関係があるのでしょうか。 よろしくお願いします。
回答: あんまり詳しくないのですが、RLimit* の解釈はだいたいそういう 認識でいいんだと思います。CGIごとに制限するには、そのCGIのプ ログラム側でなにかをしてやる必要がありそうです。 perl で直接いじれたらいいんですが、どうも具合のいいのはなさ そうですね。(syscall を呼べばできなくはなさそうですけど) csh か、zsh, bash あたりを一度呼んでから、その中で目的のCGI プログラムを起動することになりそうです。 あと、ユーザごとのCGI数の制限に関しては、なにを1ユーザとする かですね。クライアントのIPアドレス1個が1ユーザなのだとすると、 IPアドレスごとにロックをかけて、自分が2ユーザ目以降なら停止 するとか終了するとかするように作ることになると思います。 直接的な解決につながるかはわかりませんが、apache関連のメーリ ングリストのアーカイブから参考になりそうなのを拾いましたので、 たどっていってみてください。