为什么Apache + PHP需要执行权限才能写入文件?

时间:2012-06-29 17:18:25

标签: linux file-permissions

总是让我感到困惑的是,如果一个文件夹具有读写权限,Apache + PHP就无法写入它。您必须结束授予apache执行权限才能在该文件夹中写入文件。为什么呢?

例如使用chmod 664(其中构建组包含apache用户),apache将无法在此文件夹中写入临时缓存文件:

drw-rw-r--  5 jenkins build 4096 Jun 15 13:05 cache

使用chmod 774 apache将能够将新文件写入该文件夹:

drwxrwxr--  5 jenkins build 4096 Jun 29 11:44 cache

2 个答案:

答案 0 :(得分:9)

您需要执行权限才能在概念上输入目录(cd进入目录,列出文件等)。如果他们为目录调用了这个别的东西,那就更清楚了。这个article建议将其视为目录的“搜索”权限。

答案 1 :(得分:2)

当为目录设置了这些权限时,它提供了访问元信息和访问内容的能力,我认为这就是你需要执行的原因。