2009-10-28 100 views
3

我正在開發一個需要在cgi-bin文件夾中創建img文件(將顯示在網頁上)的python版本cgi腳本。我的cgi腳本無法寫入Apache的cgi-bin文件夾

但它失敗: [星期三10月28日16時13分51秒2009] [錯誤] [客戶:: 1] OSERROR:[錯誤13]許可被拒絕: '平均/'

[注意事項] 'average /'是cgi腳本將首先爲保存這些img文件而創建的文件夾。

我嘗試給cgi腳本+ x權限,但仍然失敗。這發生在Win和Mac上。

順便說一句,我正在使用默認的Apache配置。在安裝Apache之後,我沒有改變任何東西。

回答

13

你必須給web服務器用戶寫入cgi-bin文件夾的權限。通常情況下,Web服務器的用戶是一樣的東西nobody,而不是在同一組的文件夾的所有者,所以這意味着製作的cgi-bin全球可寫的:

chmod a+rwx cgi-bin 

(或者,在Windows上設置權限CGI- bin給每個人'完全控制')。

這是一個非常糟糕的主意。現在,您的服務器上的任何用戶或任何沒有正確檢查其文件名的腳本都可能在cgi-bin中創建一個文件,在那裏它將被Apache解釋爲CGI腳本並執行。這是讓您的服務器擁有的好方法。

運行時編寫的文件應該放在cgi-bin之外的單獨的'data'文件夾中(最好在Web根目錄之外,綁定Alias),Apache設置爲禁止任何類型的腳本或htaccess從該文件夾。然後,您可以設置'數據'777,或者可能更好的是讓它由Web服務器用戶擁有。

+0

非常感謝。 – 2018-02-02 06:21:59

0

錯誤消息抱怨文件夾average/的權限不是cgi文件。

編輯:所以你的python腳本(它在Win和Mac上運行)負責創建文件夾和img文件?

您絕對應該檢查您的腳本和文件夾中的平均/將被創建的權限。

如果它不僅僅是一個權限問題,正如錯誤消息所示,您將需要一個Python專家。

+0

雅,需要首先創建「平均」文件夾以保存img文件。但它無法創建。 – Yinan 2009-10-28 09:07:14