PHP:将远程文件写入目录,无需 chmod 777


PHP: write a remote file to a directory, without chmod 777

在我的(共享)虚拟主机上,我正在使用PHP的curl和fopen下载远程XML文件并将其保存到特定目录。系统必须在以后读取并执行它。现在,我已经事先创建了目录(权限:777),系统能够在目录中写入XML文件。

恐怕向任何人授予读取、写入和执行的权限会带来安全风险。因此,我的问题是:

  1. 在这种情况下,将 chmod 设置为 777 是否存在安全风险?
  2. 有没有办法在不将 chmod 设置为 777 的情况下达到预期的结果?

由于我是初学者,所以我(还)不熟悉文件用户、文件组和文件权限。有没有办法只有"系统"才能读取、执行和写入?

  1. 你应该完全避免777。
  2. 有办法。这些问题最好通过chown而不是chmod来解决。一种方法是确保写入文件的用户(通常是 apache 或 www)属于文件夹所有者的组,然后将权限设置为 maxiamlly 775。

若要仅允许所有者读取、执行和写入,请将权限更改为 0700。