PC/NETのetcetra/2005-04-13 のバックアップ(No.2)
※※このサイトは2012年頃より更新を停止しています。※※
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- PC/NETのetcetra/2005-04-13 へ行く。
- 1 (2005-04-13 (水) 03:45:57)
- 2 (2005-04-13 (水) 12:32:47)
- 3 (2005-04-13 (水) 17:17:25)
apache 11:30am頃 †
suexecを有効にすることでどうなるのか、って話だが。
各ユーザのpublicディレクトリでcgiやssiが実行されるとき、suexecを有効にしていない環境だと、apacheのユーザで実行される。
- どういうことかっていうと。
suexecが有効になってない環境で、ユーザhogeが、同じ階層にlog.txtを出力するようなcgiを下記pathに設置したとしよう。
/home/hoge/public_hmtl/test.cgi
このcgiにhttpでアクセスすると、/home/hoge/public_html/log.txtが作成されるわけだが、このlog.txtのファイル所有者:グループはhoge:hogeとかではなくapacheの実行ユーザ(だいたいのサーバではnobodyとかapacheとかwebとか)になる。
でもsuexecが有効になっている環境だと、このlog.txtの所有者:グループがhoge:hogeになるというわけだ。
しかーし。それはcgiおよびssiの場合。
suexec環境でも、DSOモジュールとして組み込んだPHPの場合、httpアクセス時のPHPの実行ユーザはapacheのユーザになる。
じゃ、PHPをcgiとして実行したらどうだろう?これ、試してみよーっと。
PHP 12:20頃 †
cgi版でPHPをインストールして上記のことを試してみた。
バッチリ(・∀・)b
もともとのcli版でインストールしてあるPHPを上書きするのはやだったので、/usr/local/cgi/ に新たにcgi版をインストールしてやってみた。
configureオプションは下記。
./configure --with-png-dir=/usr --enable-exif --with-zlib --with-jpeg-dir=/usr --enable-mbstring --enable-mbregex --enable-zend-multibyte --with-pgsql=/usr --with-mysql=/usr --disable-cli --disable-pear --prefix=/usr/local/cgi
ここで出てくる--with-png-dirとか--enable-exifとか--with-jpeg-dirとかなんとかは、PC/NETのetcetra/2004-08-23を参照のこと。