我应该设置什么权限以及如何允许 apache 覆盖上传的图像,删除它们并重新上传它们,以及允许将基础文件夹的权限传递给新上传的文件(如果这是正确的方法)?
我的图片直接是,例如:/images/subset1/ /images/subset2/ /images/subset3/
非常标准,图像上传到每个子文件夹。
我应该设置什么权限以及如何允许 apache 覆盖上传的图像,删除它们并重新上传它们,以及允许将基础文件夹的权限传递给新上传的文件(如果这是正确的方法)?
我的图片直接是,例如:/images/subset1/ /images/subset2/ /images/subset3/
非常标准,图像上传到每个子文件夹。
要使 Apache 能够读取和写入目录,该目录必须是:
或者
或者
要更改权限,您需要拥有文件/目录的所有权。然后您可以通过 shell(chmod 命令)或通过 FTP 更改权限。要更改所有权,您必须是超级用户 root,并且不能通过 FTP 执行此操作,需要某种 shell 访问权限才能运行 chown 实用程序或其某些 GUI 变体。
我认为,您最好的选择是让非 Apache 用户拥有文件和目录,并且没有访问权限,除了目录的 4(读取)+ 1(=5)。然后在一组有限的特殊目录中,拥有 Apache 所有权和权限 600(文件)和 700(子目录)。然后,如果可能,将 Web 服务器(PHP、python 等)配置为不解释可写区域中的文件。在那里,Apache 将能够编写所有内容,但不能执行它。
这是因为让 Apache 可写所有文件可能允许某人上传可执行代码,从而“命令”服务器执行您不喜欢的操作(发送垃圾邮件、提升权限、运行端口扫描和僵尸网络……)。如果需要写入文件的可能性,则应防止运行这些文件。