1

lighttpd 1.4 の下で cgi として php 5.2.6 を実行していますが、何らかの理由で常に root として実行されています。のすべての php-cgi プロセスは root によって所有され、ファイル システムに書き込まれるすべてのファイルは root によって所有されます。

lighttpd でユーザーを非特権として設定しようとしましたが、正しく実行されていることを確認しました。これは、root として実行される単なる php です。

php-cgi をより安全なユーザーとして実行するにはどうすればよいですか?

4

2 に答える 2

2
  1. 確認 :

    server.username            = "nonprivuser"
    server.groupname           = "nonprivgroup"
    
  2. lighttpd を停止します。

  3. 既存の php プロセスを確認し、それらを強制終了します。
  4. lighttpd を起動
  5. PHPプロセスが非特権として実行されていることを確認してください

PHPがまだルートとして実行されている場合、SETUIDスクリプトがどこかにロードされている可能性があります(実際にはそうすべきではありませんが、実行可能です)

この場合は、「bin-path」が参照するファイルにファンキーなものがないことを確認してください。

于 2008-10-06T07:50:22.620 に答える
0

サーバー上で root として起動された fastcgi プロセスがある可能性があります。この場合、fastcgi プロセスは lighttpd から呼び出された php プロセスを実行し続けます。

サーバー上の fastcgi プロセスを強制終了し、lighttpd を再起動することをお勧めします。

また、fastcgi デーモンを起動する可能性のある起動スクリプトを確認することもできます。

于 2008-10-06T04:47:18.807 に答える