3

私は、cgi-bin フォルダーに (Web ページに表示される) img ファイルを作成する必要がある Python バージョンの cgi スクリプトに取り組んでいます。

[Wed Oct 28 16:13:51 2009] [error] [client ::1] OSError: [Errno 13] Permission denied: 'average/' で失敗します。

[注意] 'average/' は、cgi スクリプトが img ファイルを保存するために最初に作成するフォルダーです。

cgi スクリプトに a+x 権限を与えようとしましたが、それでも失敗しました。これは、Win と Mac の両方で発生します。

ところで、私はデフォルトのApache構成で作業しています。Apache のインストール後、何も変更していません。

4

2 に答える 2

14

Web サーバーのユーザーに cgi-bin フォルダーへの書き込み権限を与える必要があります。通常、Web サーバーのユーザーはnobodyフォルダーの所有者と同じグループに属していないため、cgi-bin を誰でも書き込み可能にすることを意味します。 注:これは本当に悪い考えです。

chmod a+rwx cgi-bin

(または、Windows では cgi-bin のアクセス許可を設定して、Everyone に「フル コントロール」を付与します。)

サーバー上のユーザー、またはファイル名を適切にチェックしないスクリプトは、cgi-bin にファイルを作成し、Apache によって CGI スクリプトとして解釈されて実行される可能性があります。これは、サーバーを所有する良い方法です。

実行時に書き込まれるファイルは、cgi-bin の外側 (できれば Web ルートの外側で、 でバインドAlias) の別の「data」フォルダーに移動し、そのフォルダーからのスクリプトまたは htaccess を許可しないように Apache を設定する必要があります。次に、'data' 777 を設定するか、代わりに Web サーバー ユーザーに所有させることができます。

于 2009-10-28T11:05:01.020 に答える
0

average/エラー メッセージは、cgi ファイルではなく、フォルダーのアクセス許可について不平を言っています。

編集:あなたの python スクリプト (Win と Mac の両方で実行されます) は、フォルダーと img ファイルの作成を担当しますか?

average/ が作成される親フォルダーのスクリプトとアクセス許可を必ず確認する必要があります。

エラー メッセージが示すように、単なるアクセス許可の問題ではない場合は、Python の専門家が必要です。

于 2009-10-28T08:52:03.187 に答える