正确的权限VPS / var / www

这是一个关于stackoverflow的“off-topic”问题的转贴。

我的情况是:

我创build了一个用户,并将该用户添加到sudoers中:

  visudo命令 
 用户ALL =(ALL)ALL 

然后

  sudo adduser用户www-data 

  chown www-data:www-data -R / var / www 

一个服务重新启动,然后尝试:

  scp文件user @ ip:/ var / www 

没有权限

我已经申请文件夹然后文件的权限(不是wp-config.php.htaccess ):

  drwxr-XR-X 
  -rw-RW-R-- 

我试过了:

  sudo chmod -R g + w / var / www 

我当时能够上传文件到/var/www ,但是这个设置权限为775 ,所以我跑了:

  find / var / www -type d -exec chmod 755 {} \; 

现在我可以编辑文件,但不能通过SFTP或SSHFS等写入文件夹

我现在的问题是:

如何在不影响安全性的情况下写入/ var / www?

sudo更改仅影响使用sudo命令运行的命令。 因此在这种情况下它没有效果。

我宁愿让user/var/www的所有文件的所有者。 然后,您可以chmod 777所有的目录和chmod 666 WP需要写入访问的所有文件。 有了这个,如果有人利用WP中的安全问题,他不能轻易地覆盖WP文件。

或者,您可以将所有者更改为www-data以获取WP需要写入的文件/目录。 但是,这样user不能写入这些文件/目录。

如果您的服务器文件系统支持ACL,那么您可以将ACL添加到/var/www ,以便为拥有者以外的其他用户提供写入权限。 这可以通过setfacl命令来实现。