在 Apache2/Linux (LAMP) 上为 PHP 网站设置文件权限的最佳实践是什么?


What are the best practices setting file permissions for a PHP website on Apache2/Linux (LAMP)?

设置

站点文件的最低权限是什么,以便允许apache2/php执行代码,显示HTML/CSS/js,以及对于某些文件更新设置下载和安装插件。

我正在建立的网站是Drupal或Wordpress。

我想设置权限,以便www-data拥有最低权限,并且管理员(现在是我(有权允许他从 SSH 会话执行任务而无需sudo

[编辑]我想补充一点,我可以通过SSH完全访问LAMP服务器。我所追求的是设置用户和组权限的最严格,因此也是最安全的方式,简而言之:

  • 什么组
  • 什么所有者
  • 什么权限

对于所有站点文件,例如wordpress为了达到

  • Apache可以访问文件并执行PHP
  • 对于某些特殊文件或文件夹,Wordpress应该能够更改
  • 管理员可以轻松更改文件,而无需使用 sudo

大多数情况下,目录的权限应设置为 755。如果将其设置为 777,则可以在此处写入文件。文件最多应为 664。如果您使用 WP 编辑器,您可能需要这些文件为 666,但在进行任何更改后,您确实应该将它们恢复为 664。除非指定,否则切勿指定大于 666 的文件。

一些托管只允许在 777 权限上上传,只能避免这种情况,并尝试为此联系托管。

见 https://codex.wordpress.org/Changing_File_Permissions