WordPress的正确文件权限[已关闭]

2022-08-30 05:56:47

我在这里看了一下,但没有找到有关最佳文件权限的任何详细信息。我也在这里看了一下WordPress表单的一些问题但是任何建议777的人显然都需要在安全性方面上一点课。

简而言之,我的问题是这样的。我应该对以下内容拥有哪些权限:

  1. 存储所有WordPress内容的根文件夹
  2. wp-admin
  3. wp-content
  4. wp-包含

然后每个文件夹中的所有文件?


答案 1

当您设置WP时,您(Web服务器)可能需要对文件的写入访问权限。因此,访问权限可能需要松散。

chown www-data:www-data  -R * # Let Apache be owner
find . -type d -exec chmod 755 {} \;  # Change directory permissions rwxr-xr-x
find . -type f -exec chmod 644 {} \;  # Change file permissions rw-r--r--

设置完成后,您应该收紧访问权限,根据Harding WordPress,除wp内容之外的所有文件都应仅可由您的用户帐户写入。wp-content也必须由www-data写入。

chown <username>:<username>  -R * # Let your useraccount be owner
chown www-data:www-data wp-content # Let apache be owner of wp-content

也许您以后想更改wp内容中的内容。在这种情况下,您可以

  • 暂时更改为用户 www-data 与 ,su
  • 给予 wp-content 组写入访问权限 775 并加入该组 www-data
  • 使用 ACL 授予用户对文件夹的访问权限。

无论你做什么,请确保文件具有www数据的rw权限。


答案 2

将对所有wp文件的完全访问权限授予用户(在本例中为Web服务器用户)可能是危险的。所以宁愿不要这样做:www-data

chown www-data:www-data -R *

但是,当您安装或升级WordPress及其插件时,它可能很有用。但是当你完成后,将wp文件保留为Web服务器拥有的不再是一个好主意。

它基本上允许Web服务器放置或覆盖您网站中的任何文件。这意味着如果有人设法使用Web服务器(或某些.php脚本中的安全漏洞)将某些文件放入您的网站,则有可能接管您的网站。

为了保护您的网站免受此类攻击,您应该执行以下操作:

所有文件都应归您的用户帐户所有,并且应由您写入。任何需要从WordPress写入权限的文件都应该可以由Web服务器写入,如果您的托管设置需要它,这可能意味着这些文件需要由Web服务器进程使用的用户帐户拥有。

/

根WordPress目录:所有文件都应该只能由您的用户帐户写入,但.htaccess除外,如果您希望WordPress自动为您生成重写规则。

/wp-admin/

WordPress管理区域:所有文件只能由您的用户帐户写入。

/wp-includes/

大量的WordPress应用程序逻辑:所有文件都应该只能由您的用户帐户写入。

/wp-content/

用户提供的内容:旨在由您的用户帐户和 Web 服务器进程写入。

在里面你会发现:/wp-content/

/wp-content/themes/

主题文件。如果要使用内置的主题编辑器,则所有文件都需要由Web服务器进程写入。如果您不想使用内置的主题编辑器,则所有文件只能由您的用户帐户写入。

/wp-content/plugins/

插件文件:所有文件只能由您的用户帐户写入。

可能存在的其他目录应由需要它们的插件或主题进行记录。权限可能会有所不同。/wp-content/

资料来源和补充资料:http://codex.wordpress.org/Hardening_WordPress


推荐