php-cgi以root身份运行


php-cgi runs as root

我在lighttpd 1.4下作为cgi运行php 5.2.6,出于某种原因,它总是以root身份运行。中的所有php-cgi进程都归root所有,写入文件系统的所有文件都归root拥有。

我已经尝试将lighttpd中的用户设置为非特权用户,并确认它运行正常,只是php以root身份运行。

如何将php-cgi设置为作为更安全的用户运行?

  1. 确保:

    server.username            = "nonprivuser"
    server.groupname           = "nonprivgroup"
    
  2. 停车灯tpd。

  3. 检查现有的php进程并杀死它们
  4. 启动灯tpd
  5. 检查php进程是否以非私有身份运行

如果php仍然以root身份运行,那么您可能有一个SETUID脚本在某处加载它们(您确实不应该这样做,但这是可行的)

如果是这种情况,请检查"bin路径"所指的文件上是否有任何奇怪的内容。

您可能有一个以root身份在服务器上启动的fastcgi进程。如果是这种情况,那么fastcgi进程将继续运行从lighttpd调用的php进程。

我建议终止服务器上的fastcgi进程并重新启动lighttpd。

您可能还想看看任何可能启动fastcgi守护进程的启动脚本。