suexec.c patch ------------ Apache 1.3.22 のsuexecにchroot用のパッチを当てました。 CGI実行時に指定ディレクトリー又はホームディレクトリーにchrootします。 現在のversionでの制限 chroot後のエラー(failed to setuid/cannot get current working directory/cannot get docroot information/cannot get docroot information/cannot get docroot information/command not in docroot/cannot stat directory/directory is writable by others/cannot stat program/file is writable by others/file is either setuid or setgid/target uid gid mismatch/file has no execute permission/write permission to group and or other/exec failedエラー)は、chroot後のLOG_EXEC(通常は/usr/local/apache/logs/suexec_log)にユーザー権限で記述されます。 ただし、LOG_EXECがchroot内部にある場合は、exec failedエラーを除き、通常通り記述されます。 (exec failedエラーは、error_logに記述されます) 出来る限り、LOG_EXEC(suexec_log)がchroot内部に来るようにしてください。 コンパイル・インストール方法: apacheを展開した場所に移動し、 # cd src/support として、その中にsuexec_chroot.patchを置き、 # patch < suexec_chroot.patch としてください。 パッチを当てた後、suexec.cの 96: #define _SUEXEC_CHROOT を削除すると、chrootがかからなくなります。 97: #define _SUEXEC_CHROOT_DIRECTORY "/home" を削除すると、ユーザーのホームディレクトリーにchrootするようになります。 "/home"を任意のパスに置き換えれば、その場所にchrootするようになります。 (ディレクトリーの最後に/を入れると、エラーが起きます。ご注意下さい。) 転載について このプログラム・テキスト等の転記・転載・再配布等は一切禁止します。 どうしても転載・転記・再配布等行いたい場合 ituki@fc.to までメールでご相談下さい。 著作権について TimePlant/Ituki Kirihara/NIはこのプログラムを使った事によって生じた一切の責任を負いません。 各自の責任で使用して下さい。 使用に関して、特に金銭的請求をすることはありません。 これらのプログラムの著作権は、TimePlant/Ituki Kirihara/NIが保有しています。 このプログラムを使用されている方は、ituki@fc.toにメールでお知らせして頂けると嬉しいです。 サポート メール ituki@fc.to にて受け付けております。バグ・意見等ありましたらどうぞ。 ただ、時間がないため、対応できるかはあやしいです(^_^; 以下の場所で関連情報等を公開しています http://fc.to/ituki/ このホームページは Ituki Kiriharaの趣味のページです(^_^; バージョン履歴 version 0.0 2002/01/17 公開。 (c) Copyright 2002 TimePlant/Ituki Kirihara/NI All rights reserved.