豆腐食べたい

プログラミングとかその他もろもろとかの技術の摂取録。あと豆腐食べたい。

Apache2がroot権限で動いてる?

今年5月にubuntuをインストールして以来linux使い見習いとして生きてきたのだが、まだサーバー系のものは何も使ったことがなかった。んで、先日大学関係でPCにapacheやらmysqlやらをインストールすると少し幸せになれる場面があったので、いい機会だと思ってaptでインストールしてみた。

 

が、一つ気になることが発生。psで確かめるとapacheのプロセスの一つがroot権限で動いてる

 

$ ps aux | grep apache2
root      1253  0.0  0.1  36012  7788 ?        Ss   Aug11   0:00 /usr/sbin/apache2 -k start
www-data  1268  0.0  0.0  36036  3932 ?        S    Aug11   0:00 /usr/sbin/apache2 -k start
www-data  1269  0.0  0.0  36036  3932 ?        S    Aug11   0:00 /usr/sbin/apache2 -k start
www-data  1270  0.0  0.0  36036  3932 ?        S    Aug11   0:00 /usr/sbin/apache2 -k start
www-data  1271  0.0  0.0  36036  3932 ?        S    Aug11   0:00 /usr/sbin/apache2 -k start
www-data  1272  0.0  0.0  36036  3932 ?        S    Aug11   0:00 /usr/sbin/apache2 -k start

 

で、色々とググッてapacheの設定を見てみるも、実行ユーザーの設定はちゃんとwww-dataになってる・・・

 

で、更に調べた結果、次の情報を発見

 

Apacheのプロセス管理

 

これによれば、linuxでは0〜1230番のwell-knownポートはroot権限がないと開くことができないらしい。なのでその範囲のポートをapacheが使用する際には、そのポートの待受のためのプロセスをひとつ生成して待機し、実際の処理はより低い権限を持つプロセスに投げるようだ。納得。