1

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

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

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

4

2 回答 2

2
  1. 确保 :

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

  3. 检查现有的 php 进程并杀死它们。
  4. 启动 lig​​httpd
  5. 检查 php 进程是否以非 priv 身份运行

如果 php 仍然以 root 身份运行,那么你可能有一个 SETUID 脚本加载它们(你真的不应该,但它是可行的)

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

于 2008-10-06T07:50:22.620 回答
0

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

我建议杀死服务器上的 fastcgi 进程并重新启动 lig​​httpd。

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

于 2008-10-06T04:47:18.807 回答