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

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

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

有帮助吗?

解决方案

  1. 确保:

    server.username            = "nonprivuser"
    server.groupname           = "nonprivgroup"
    
  2. 停止lighttpd。

  3. 检查现有的php进程并杀死它们。
  4. 启动lighttpd
  5. 检查php进程是否以非私有方式运行
  6. 如果php仍然以root用户身份运行,那么你可能在某个地方装载了一个SETUID脚本(你真的不应该,但是它可行)

    如果是这种情况,检查文件'bin-path'是指没有任何质朴的东西。

其他提示

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

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top