apacheのsuexecを有効にする
Apache・Webサーバ 2007/01/08 (月) -
VineLinuxのapache2(Apache2.0)でsuexecを有効にする。
Vineのバイナリパッケージでは、enable-suexecとしてmakeされているもののデフォルトでは有効になっていない。
参考URL
- mod_suexec – Apache HTTP サーバ
- Vine Linux アパッチの設定 suexec使用
- KuboLog 2006.10 (01-10)
- kinta’s diary | Fedora Core4 (FC4) 設定メモ
まずはsuexecの設定を確認
# /usr/lib/apache2/suexec -V
-D AP_DOC_ROOT="/var/www"
-D AP_GID_MIN=500
-D AP_HTTPD_USER="apache"
-D AP_LOG_EXEC="/var/lib/log/apache2/suexec.log"
-D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
-D AP_UID_MIN=500
-D AP_USERDIR_SUFFIX="public_html"suexec wrapperのパーミッションを変更する。
# ls -l /usr/lib/apache2/
drwxr-xr-x 2 root root 4096 Aug 28 22:44 build/
drwxr-xr-x 2 root root 4096 Aug 28 22:44 modules/
-rwx--x--x 1 root apache 43936 Jan 8 08:04 suexec*
# chmod 4750 /usr/lib/apache2/suexec
# ls -l /usr/lib/apache2/
drwxr-xr-x 2 root root 4096 Aug 28 22:44 build/
drwxr-xr-x 2 root root 4096 Aug 28 22:44 modules/
-rws--x--- 1 root apache 43936 Jan 8 08:04 suexec*httpd.confでmod_suexecを読み込むように編集
LoadModule suexec_module modules/mod_suexec.soapache2を再起動
# /etc/init.d/apache2 restartapache2のエラーログに
[notice] suEXEC mechanism enabled (wrapper: /usr/lib/apache2/suexec)と出ていればsuexecが有効になっている。
suexecのrebuild
Vineのバイナリパッケージだとsuexecが有効になるのは/var/www/以下のみ。別なディレクトリでVirtualDomainでサイト構築していたりする場合はsuexecが使えないのでsuexecだけmakeしなおして差し替えることにする。
apt-getでapache2のソースをダウンロード
# apt-get source apache2/tmpあたりにソースを展開。
# cd /tmp
# tar zxvf /usr/src/vine/SOURCES/httpd-2.0.55.tar.bz2
# cd httpd-2.0.55今回はsuexec wrapperが欲しいだけなので細かいPatchなどは無視。
suexecの各種設定を織り込んでmake
# ./configure --enable-suexec \
--with-suexec-caller=apache \
--with-suexec-docroot=/home \
--with-suexec-userdir=public_html \
--with-suexec-uidmin=500 \
--with-suexec-gidmin=500 \
--with-suexec-bin=/usr/lib/apache2/suexec \
--with-suexec-logfile=/var/log/apache2/suexec.log
# make各スイッチの意味についてはsuEXEC サポートを参照のこと。
出来上がったsuexec wrapperをデフォルトのものと入れ替える。
所有者とパーミッションに注意
# mv /usr/lib/apache2/suexec /usr/lib/apache2/suexec.OLD
# cp ./support/suexec /usr/lib/apache2/
# chown root.apache /usr/lib/apache2/suexec
# chmod 4750 /usr/lib/apache2/suexecそしてapache2を再起動すれば完了
きちんと動作しているかどうかは↑のエラーログと 以下のCGIで確認できる。
#!/usr/bin/perl
# suexec test script
print "Content-type:text/html\n\n";
print "<H1>";
print `whoami`;
print "</h1>";これをtest.cgiとか名前を付けてサイト上に置いてアクセスし自分のユーザー名が表示されれば正常にsuexecされている。
関連しそうなentry
Author: DebianOoM 2007/01/08 (月) 22:01
Tags: rebuild, source, suexec, Vine, wrapper
Linkメモ(CentOS関連) | でびあんのがらくた箱 Says:
2010/02/14 (日) at 11:26
[...] webmin : http://www.webmin.com/ apacheのsuExecを設定変更 suExecだけ差し替えでなく、src.rpmからリビルド → [...]