質問
php 5.2.6をlighttpd 1.4の下でcgiとして実行し、何らかの理由で常にrootとして実行しています。のすべてのphp-cgiプロセスはルートによって所有され、ファイルシステムに書き込まれるすべてのファイルはルートによって所有されます。
lighttpdのユーザーを非特権ユーザーとして設定してみましたが、rootとして実行されているのはphpのみであることが確認されています。
php-cgiをより安全なユーザーとして実行するにはどうすればよいですか?
解決
-
確認:
server.username = "nonprivuser" server.groupname = "nonprivgroup"
-
lighttpdを停止します。
- 既存のphpプロセスを確認し、それらを強制終了します。
- lighttpdを開始
- PHPプロセスが非特権として実行されていることを確認します
phpがまだrootとして実行されている場合は、SETUIDスクリプトがロードされている可能性があります(実際にはそうすべきではありませんが、実行可能です)
この場合、「bin-path」が参照するファイルにファンキーなものがないことを確認してください。
他のヒント
サーバー上でrootとして開始されたfastcgiプロセスがある可能性があります。この場合、fastcgiプロセスは引き続きlighttpdから呼び出されたphpプロセスを実行します。
サーバー上のfastcgiプロセスを強制終了し、lighttpdを再起動することをお勧めします。
fastcgiデーモンを起動する可能性のある起動スクリプトも調べてください。
所属していません StackOverflow