我错误地使目录可执行吗?

时间:2012-02-27 15:42:28

标签: php zend-framework

我正在使用Zend_Form_Element_File()编写文件上传。我在users目录中创建了一个名为public的目录。当我加载文件时,我收到错误,说找不到页面。我检查了目录,发现权限是drwxr-xr-x。因此,我将权限更改为drwxrw-rw-并再次加载页面。页面正确加载。但是当我上传文件时,它会再次产生错误。所以我最终将权限更改为drwxrwxrwx,一切正常。 我的问题是,我是否按照其他人正常做的方式行事?我发现制作目录可执行文件很奇怪。 有人可以解释我是否正确吗?我只是在学习Zend框架。

2 个答案:

答案 0 :(得分:4)

如果程序应该能够“输入”,则目录必须才能执行。输入目录基本上意味着访问该目录下的任何文件/目录。

对文件夹进行“读取”访问允许您列出其内容 - “写入”访问的作用非常明显。

但是,出于安全原因,您应该检查drwxrwx---770)是否不够;通常,您的用户和网络服务器共享一个公共组。如果是这样的话,就没有必要提供对“世界”的任何访问权。

以与您相同的用户身份运行脚本会更好 - 通过使用不会太难的fastcgi,但如果您在共享主机上,则通常没有必要的访问权限来执行此操作。 / p>

答案 1 :(得分:0)

通常,当您在目录上设置权限时,它们会在大多数情况下通过扩展ACLS级联到文件。我立即看到的问题是你授予了世界访问权限,这是一个坏主意。唯一需要该目录权限的用户(最多700个)将成为您的Web服务器。所以我会尽快恢复安全性。