我在lighttpd 1.4下作为cgi运行php 5.2.6,出于某种原因,它总是以root身份运行。中的所有php-cgi进程都归root所有,写入文件系统的所有文件都归root拥有。
我已经尝试将lighttpd中的用户设置为非特权用户,并确认它运行正常,只是php以root身份运行。
如何将php-cgi设置为作为更安全的用户运行?
-
确保:
server.username = "nonprivuser" server.groupname = "nonprivgroup"
-
停车灯tpd。
- 检查现有的php进程并杀死它们
- 启动灯tpd
- 检查php进程是否以非私有身份运行
如果php仍然以root身份运行,那么您可能有一个SETUID脚本在某处加载它们(您确实不应该这样做,但这是可行的)
如果是这种情况,请检查"bin路径"所指的文件上是否有任何奇怪的内容。
您可能有一个以root身份在服务器上启动的fastcgi进程。如果是这种情况,那么fastcgi进程将继续运行从lighttpd调用的php进程。
我建议终止服务器上的fastcgi进程并重新启动lighttpd。
您可能还想看看任何可能启动fastcgi守护进程的启动脚本。