2008-10-06 76 views
1

我运行php 5.2.6作为lighttpd 1.4下的cgi,由于某些原因,它始终以root身份运行。所有php-cgi进程都由root拥有,写入文件系统的所有文件都由root拥有。php-cgi以根用户身份运行

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

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

回答

2
  1. 确保:

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

  3. 检查现有的PHP进程并杀死它们。
  4. 开始的lighttpd
  5. 检查PHP进程在运行非私法

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

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

0

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

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

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

+0

那么你是说如果没有fastcgi进程运行第一次启动设置用户所有其他运行?有趣... – 2008-10-06 04:55:05

相关问题