私はApache2-mpm-preforkとApache2-mod-php5でUbuntuサーバー10.10を実行しています。
User www-data
Group www-data
構成ファイルで、ps -efH
を実行すると、次の行が表示されます。
root 1497 1 0 09:43 ? 00:00:00 /usr/sbin/Apache2 -k start
root 1530 1497 0 09:43 ? 00:00:00 /usr/sbin/Apache2 -k start
www-data 1531 1497 0 09:43 ? 00:00:00 /usr/sbin/Apache2 -k start
www-data 1532 1497 0 09:43 ? 00:00:00 /usr/sbin/Apache2 -k start
どうやら、子プロセスはrootとして実行されていますが、なぜですか?
これは、Apacheを自分でコンパイルしたときにも発生しました。理由がわかりません。また、このルート子プロセスがリクエストを処理しているかどうかはまだわかりません。
1024未満のポート(特権ポート)にバインドするプロセスは、バインドするためにrootとして実行する必要があります。したがって、メインのApacheプロセスはポートにバインドしてログファイルを開き、他のいくつかのルートのみの項目を実行します。
次に、子を生成して、要求を処理するすべての作業を実行します。
皆さん、ありがとうございます。これでほぼ明確になり、セットアップは安全だと確信しています。
netstat -tlnp|grep Apache2
:
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1497/Apache2
lsof -p 1497
:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
Apache2 1497 root cwd DIR 8,2 4096 2 /
Apache2 1497 root rtd DIR 8,2 4096 2 /
Apache2 1497 root txt REG 8,2 1437809 2755831 /usr/lib/Apache2/mpm-prefork/Apache2
Apache2 1497 root mem REG 8,2 88384 1835068 /lib/libgcc_s.so.1
Apache2 1497 root mem REG 8,2 10248 2755896 /usr/lib/Apache2/modules/mod_vhost_alias.so
Apache2 1497 root mem REG 8,2 22528 2755882 /usr/lib/Apache2/modules/mod_status.so
Apache2 1497 root mem REG 8,2 14336 2755847 /usr/lib/Apache2/modules/mod_setenvif.so
Apache2 1497 root mem REG 8,2 63488 2755865 /usr/lib/Apache2/modules/mod_rewrite.so
Apache2 1497 root mem REG 8,2 14344 2755892 /usr/lib/Apache2/modules/mod_reqtimeout.so
Apache2 1497 root mem REG 8,2 6069136 2757137 /usr/lib/Apache2/modules/libphp5.so
Apache2 1497 root mem REG 8,2 30728 2755875 /usr/lib/Apache2/modules/mod_negotiation.so
Apache2 1497 root mem REG 8,2 18432 2755836 /usr/lib/Apache2/modules/mod_mime.so
Apache2 1497 root mem REG 8,2 18432 2755880 /usr/lib/Apache2/modules/mod_headers.so
Apache2 1497 root mem REG 8,2 10240 2755862 /usr/lib/Apache2/modules/mod_env.so
Apache2 1497 root mem REG 8,2 10240 2755849 /usr/lib/Apache2/modules/mod_dir.so
Apache2 1497 root mem REG 8,2 26624 2755851 /usr/lib/Apache2/modules/mod_cgi.so
Apache2 1497 root mem REG 8,2 34824 2755885 /usr/lib/Apache2/modules/mod_autoindex.so
Apache2 1497 root mem REG 8,2 10248 2755843 /usr/lib/Apache2/modules/mod_authz_user.so
Apache2 1497 root mem REG 8,2 10248 2755841 /usr/lib/Apache2/modules/mod_authz_Host.so
Apache2 1497 root mem REG 8,2 10248 2755838 /usr/lib/Apache2/modules/mod_authz_groupfile.so
Apache2 1497 root mem REG 8,2 6152 2755900 /usr/lib/Apache2/modules/mod_authz_default.so
Apache2 1497 root mem REG 8,2 10248 2755887 /usr/lib/Apache2/modules/mod_authn_file.so
Apache2 1497 root mem REG 8,2 10248 2755856 /usr/lib/Apache2/modules/mod_auth_basic.so
Apache2 1497 root mem REG 8,2 14336 2755855 /usr/lib/Apache2/modules/mod_alias.so
....
Apache2 1497 root DEL REG 0,4 8727 /dev/zero
Apache2 1497 root 0r CHR 1,3 0t0 4206 /dev/null
Apache2 1497 root 1w CHR 1,3 0t0 4206 /dev/null
Apache2 1497 root 2w REG 8,2 1578 524530 /var/log/Apache2/error.log
Apache2 1497 root 3u IPv4 8506 0t0 TCP *:www (LISTEN)
Apache2 1497 root 4r FIFO 0,8 0t0 8645 pipe
Apache2 1497 root 5w FIFO 0,8 0t0 8645 pipe
Apache2 1497 root 6w REG 8,2 36033304 524628 /var/log/Apache2/other_vhosts_access.log
Apache2 1497 root 7w REG 8,2 1791423 524338 /var/log/Apache2/access.log
Apache2 1497 root 9u unix 0xffff880037a5b0c0 0t0 8723 socket
lsof -p 1531
:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
Apache2 1531 www-data cwd DIR 8,2 4096 2 /
....
Apache2 1531 www-data 3u IPv4 8506 0t0 TCP *:www (LISTEN)
行は何ですか:
Apache2 1531 www-data 3u IPv4 8506 0t0 TCP *:www(LISTEN)
ただし、lsof -p 1530
:
Apache2 1530 root cwd DIR 8,2 4096 2 /
Apache2 1530 root rtd DIR 8,2 4096 2 /
Apache2 1530 root txt REG 8,2 1437809 2755831 /usr/lib/Apache2/mpm-prefork/Apache2
....
TCPリッスンラインがないため、このルート子プロセスはリクエストを受け付けていません。@ Mikeが言ったように、この機能を必要とするモジュールがあるはずですが、どれを知ることができませんでした。 (私はそれらを1つずつ無効にしようとしましたが成功しませんでした)。
再度、感謝します。