2009-10-28 102 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