这些文件权限有什么问题吗?

这些文件权限有什么问题吗?

这是一个令人尴尬的问题,但我似乎无法弄清楚我的服务器的正确文件权限。我想在 public_html 文件夹中创建一个目录,其中包括每个人的读/写访问权限,以便我可以通过用户加载网页时执行的 php 脚本轻松地在其中创建文件。

这是当前权限显示:

drw-rw-rw- 2 root www-data    4096 Aug 27 19:38 TEMPFILES

当我以非 root 且不在 www-data 组中的随机用户身份执行 php 脚本时,在尝试将文件写入 TEMPFILES 时收到错误“权限被拒绝”。这是为什么?

答案1

chmod a+x TEMPFILES

因为目录必须具有执行位,因为原因[1]。 (您可能还需要设置粘性位,例如设置为/tmp。)

[1]“请注意,目录的读取权限和目录的执行权限意味着不同的东西。读取权限让我们读取目录,获取目录中所有文件名的列表。执行权限让我们在目录访问时通过该目录。是我们尝试访问的路径名的组成部分。” ——史蒂文斯,《APUE》(第一版),第 4 章,第 5 节。

答案2

需要为目录设置执行位

chmod 0777 临时文件

就可以看到内容了

相关内容