- 2008年12月 1日 17:36
- Apache | Vine Linux
Vine 4.2 環境でsuEXECを使うお話。
OSインストール時にWEBサーバーを選択、またはパッケージからインストールした場合はWEBサーバーにApache2.2系がインストールされました。
suEXECとはCGIスクリプトをその所有者権限で実行する機能。
このことは共有サーバーにおいてセキュアが格段に上がる。
近年においては標準化している機能であり、共有サーバーでは必須と言えます。
昔はこの機能が無かった、または普及していなかった為にファイルの改変などが起こっていたようです。
初期設定でCGIはsuEXECで動きません。
合わせて「--with-suexec-docroot=」の値が「/var/www」などとなっているので /home 以下では動作しない為、このまま有効にしても私の環境では意味がありません。
/var/www 以下でいいのであれば以下のコマンドで有効にするだけです。
# chmod 4711 /usr/lib/apache2/suexec
# /etc/rc.d/init.d/apache2 restart
ちなみに無効にするなら
# chmod 0711 /usr/lib/apache2/suexec
# /etc/rc.d/init.d/apache2 restart
どちらの場合もApacheを再起動して設定を反映している。
suEXECの設定確認コマンドは以下の通り。
# /usr/lib/apache2/suexec -V
suEXECをリビルドして /home 以下でsuEXECを機能させる。
# apt-get source apache2
# rpm ivh apache2-バージョン.src.rpm
# cd /tmp
# tar zxvf /root/rpm/SOURCES/httpd-2.2.3.tar.bz2
# rm -f /root/rpm/SOURCES/*
# rm -f /root/rpm/SPECS/*
# rm -f /root/apache2-バージョン.src.rpm
# cd httpd-2.2.3
# ./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
# mv /usr/lib/apache2/suexec /usr/lib/apache2/suexec.bak
# mv support/suexec /usr/lib/apache2/suexec
# chmod 4711 /usr/lib/apache2/suexec
# /etc/rc.d/init.d/apache2 restart
後は適当なスクリプトを走らせてからログを確認してみる。
# tail /var/log/apache2/suexec.log
本当にそのファイルの所有者で実行されているのか確認したい人は以下の内容をファイルに保存して実行してみてください。
設置例 : test.cgiとして以下の内容を保存してパーミッションを700
#!/usr/local/bin/perl print "Content-type: text/plain\n\n"; print `whoami`;
バーチャルホスト環境の場合は SuexecUserGroup を追加する。
以下はその例(ネームベース)。
<VirtualHost *:80> SuexecUserGroup sample sample ServerAdmin sample@fya.jp DocumentRoot /home/sample/public_html ServerName sample.fya.jp </VirtualHost>
尚、私の環境ではApache1.3からの移行だったのでUserとGroupをSuexecUserGroup形式へ書き換えるといった具合で移行しました。
- Newer: SQLite DBファイルの整理(容量削減)
- Older: Vine Linux 4.2 インストール
Comments:0
Trackbacks:0
- TrackBack URL for this entry
- https://www.fya.jp/cgi-bin/mt/mt-tb.cgi/64
- Listed below are links to weblogs that reference
- Apache 2.2 CGI suEXEC 環境構築 from Minase's Blog - FYA