2008-10-06 107 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

相關問題