關於 PHP, Linux, Open Source 及個人生活記載的網誌。
RSS icon
  • 改變 CGI 執行身份: suEXEC

    Posted on May 26th, 2006 Sam Tang No comments

    在 Apache 內的虛擬主機預設會使用和 Apache 相同的身份執行 CGI,例如 apache 或 nobody,如果想每個虛擬主機使用不同身份執行,可以透過 suEXEC 實現。

    要檢查 Apache 是否支援 suEXEC,可以執行以下指令:

    /usr/local/apache/bin/httpd -l | grep suexec

    以上 /usr/local/apache/bin 改成你的 Apache 安裝目錄,如果結果出現了 "mod_suexec.c",代表 Apache 已經支援 suEXEC,如果不支援的話請重新編譯 Apache,並在編譯時加上 –enable-suexec 選擇。以下是 suEXEC 使用方法:

    Apache 1.3.x
    在 httpd.conf 內的 <VirtualHost> 段落下加上兩行,分別是:

    User samtang
    Group samtang

    以上會以 samtang 作為使用者及群組執行這個虛擬主機的 CGI,重新啟動 Apache 後便會生效。

    Apache 2.0.x
    在 httpd.conf 內的 <VirtualHost> 段落下加上這行:

    SuexecUserGroup samtang samtang

    重新啟動 Apache 即可。


    Leave a reply

    *
    To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
    Click to hear an audio file of the anti-spam word