上传目录的所有者是“www-data”,但这会阻止通过 PHP 脚本访问 FTP

Mik*_*ore 2 linux php permissions ftp apache-2.2

为了允许对 Apache 进行写访问,我需要访问chown www-data:www-data /var/www/mysite/uploads我网站的上传文件夹。这允许我通过unlink()PHP 脚本从文件夹中删除文件。

不幸的是,这会阻止另一个使用 FTP 函数的 PHP 脚本工作。我认为这是因为 FTP 用户是mike并且现在上传目录归 拥有www-datamike无法访问它。

我添加mike到组中www-data,但这并不能解决问题。

除了使用 PHP 的unlink()函数删除文件之外,有人可以告诉我如何允许 PHP FTP 函数工作吗?

Zyp*_*her 6

这就是为什么,您需要“写”权限才能删除文件。你有几个选择。

  1. chwon /var/www/mysite/uploads 到 www-data:mike 和 chmod 到 775 (rwxrwxr-x)
  2. 创建一个 ftp-write 组和 chown /var/www/mysite/uploads 到 www-data:ftp-write 和 chmod 到 775
  3. 只需将 chmod 设置为 775 (rwxrwxr-x) 并将 mike 作为 www-data 组的一部分
  4. 在文件夹上为 Mike 设置一个 acl setfacl -m user:mike:rwx
  5. 创建一个 ftp-write 组,添加 Mike 和该组(以及需要这些权限的任何其他用户) setfacl -m group:<ftp_group>:rwx