Nginx + PHP + FTP - 用户权限问题

Nginx + PHP + FTP - 用户权限问题

我在 /home/username/public_html/site 上安装了一个 WordPress 副本,现在的问题是:

  1. Nginx 以“www-data”身份运行 PHP
  2. 站点文件夹所有者和组是“用户名”,而不是“www-data”
  3. 所以wordpress没有创建文件夹的权限
  4. 我将“site”的所有者和组更改为“www-data”,wordpress 工作正常
  5. 但 ftp 无法创建文件夹 - ftp 是以用户名/密码登录

是否可以有一个 /home/username/public_html/site,并且都可以在 PHP 端和 ftp 端工作。任何建议表示赞赏!

答案1

我找到了解决方法,但不是一种优雅的方法:

  1. 将“user”主要组更改为“www-data”
  2. 更改/etc/vsftpd.conf和~./bashrc,第一个添加local_mask = 002,最后一个添加umask = 002

现在,当我上传文件时,默认情况下它具有 rw-rw-r- 权限,如果它是文件夹 rwxrwxr--,所有者是“user”,组是“www-data”,并且 PHP 正在以身份运行“ www-data”,因此它可以删除从ftp上传的所有文件和文件夹。

答案2

将用户主要组更改为“www=data”可能有效,但在某些情况下可能不安全。添加 umask 选项可能更不安全。

我建议使用更复杂的方法,这可能会产生一些性能影响,但可以更安全地设置:http://themesforge.com/performance/configuring-nginx-php5-fpm-and-user-permissions/

相关内容