5

我已经阅读了许多有关文件权限的教程,但他们所说的只是例如“如果您不希望其他人写入您的文件,请将其设置为 xxx ...”
但在虚拟主机中,谁是谁?只有一个web服务器(apache)和php和mysql等程序。没有“其他用户”。教程说apache被认为是“公共的”。但我有一个 php 脚本,它可以获取上传的文件并将其放在“下载”目录中。我将该目录的权限设置为 744。这意味着组和公共应该只能“读取”并且所有者具有完全访问权限。我希望我上传的文件不会被传输到该目录,因为“公共”没有“写”权限。但文件在那里。更令我困惑的是,当我尝试下载文件时,出现“禁止”错误。我希望能够下载该文件,因为公众拥有“读取”权限。

4

1 回答 1

3

这种情况下的用户是 Web 服务器本身。Apache 在向服务器文件系统读取和写入文件时,通常以用户“apache”或“www-data”的身份运行。服务器应该可以读取静态内容。上传位置必须是可写的。根据系统上的其他用户,您可能会认为 Web 服务器是“其他”用户,而网站管理员帐户是实际的文件所有者。

于 2014-11-21T08:51:26.080 回答