WordPress权限:了解它们以及其最佳设置

您是否试图找出文件和文件夹的正确WordPress权限?还是您首先对WordPress权限的整个概念感到困惑?

WordPress文件权限对您网站的安全和运行至关重要,因此您必须了解它们。如果您使用的是WordPress托管,您的主机几乎可以肯定已经为您配置了一些东西,但是如果您遇到任何问题,理解这些概念仍然很有帮助。

因此,无论您从未听说过文件权限,或者您只是在为WordPress寻找正确的文件权限,我们都会在这篇文章中为您介绍。如果您已经熟悉文件权限,可以单击第二个链接直接跳转到WordPress的最佳文件权限。

  1. 什么是文件权限?
  2. WordPress的正确文件权限
  3. 如何快速检查WordPress文件权限
  4. 如何编辑WordPress文件权限

Tips:这篇文章100%专注于WordPress文件权限以及如何使用它们来保护您的网站。如果您对控制WordPress用户权限更感兴趣,请查看我们的WordPress用户角色和权限文章。

什么是文件权限?

简而言之,文件权限控制不同用户如何与您的WordPress站点服务器上的文件进行交互。更具体地说,文件权限控制谁可以读取写入执行文件:

  • 读取:读取文件内容的能力。
  • 写入:更改文件的能力。
  • 执行: “使用”文件的能力(例如执行脚本)。

什么是用户?

用户分为三种不同的“类型”:

  • 所有者:文件或目录的指定所有者。
  • 组:拥有文件或直接拥有文件的组的成员。
  • 公共:除文件所有者或组成员之外的所有用户。

每个文件或文件夹都归特定用户或特定组所有。每个用户可以是多个组的成员,但他们只能拥有一个主要组。

例如,当您通过SFTP连接到您的站点时,您正在使用服务器上的用户帐户,并且该用户帐户属于一个或多个组,具体取决于您的服务器的配置方式。

注意:大多数人不需要掌握“用户”的概念,因为您的主机会为您配置所有这些。但是,了解了解文件权限的功能至关重要。如果您在本节中感到有些迷茫,请知道在大多数情况下,您的主机已经为您的服务器环境适当地设置了用户。

通过文件权限,您可以控制每种类型的用户(所有者、组、公共)可以对服务器上的文件和文件夹执行的操作(读取、写入、执行)。

一般来说,文件的所有者应该拥有最多的权限;属于同一组的用户将拥有相同或更少的权限;公共用户将拥有与组相同或更少的权限:

所有者 > 组 > 公共

文件权限的概念与WordPress角色和权限系统非常相似。如果您是网站的管理员,那么您拥有的控制权比编辑者更多。例如,管理员可以安装新插件,但编辑器不能。

同样,编辑器比您网站的匿名访问者拥有更多的控制权,即使编辑器没有完全管理员的权力。例如,编辑器可以编辑其他人的博客文章并发布新的博客文章,但编辑器不能安装新插件。

文件权限中的数字是什么意思?

文件权限由称为权限模式的三位数字表示(例如777440)。

数字中的每个数字对应于特定用户可以执行的操作:

  • 第一个数字:控制所有者可以做什么。
  • 第二位数字:控制用户中的用户帐户可以做什么。
  • 第三个数字:控制其他人可以做什么(公共)。

权限模式中的每个数字都是分配给每个操作的数字的总和:

  • 读取: 4
  • 写入: 2
  • 执行: 1

如果您不想授予任何权限,请使用数字0

同样,您在权限模式中看到的数字是实体拥有的所有权限的总和。例如,如果所有者可以读取(4) 和写入(2),则权限模式将为6 (4+2)。

或者,如果所有者拥有所有三个权限,则为7 (4+2+1)。

因此,777是最宽松的配置。代表着:

  • 第一个数字 – 7 – 所有者可以读取(4)、写入(2) 和执行(1)
  • 第二个数字 – 7 – 组可以读取(4)、写入(2) 和执行(1)
  • 第三个数字 – 7 – 公众可以读取(4)、写入(2) 和执行(1)

出于这个原因,您几乎永远不想在您的WordPress网站上设置任何权限为777 。我们将在下面详细讨论这一点。

如果您想尝试一下这个想法,您可以使用chmod计算器工具来查看当您为不同的用户分配不同的权限时数字是如何变化的。

文件权限中的字母是什么意思?

虽然您可能最常遇到数字格式,但有时您也会看到由字母和破折号表示的文件权限。

例如:rwxr–r–

以下是这种格式的工作原理:

  • r = 读取权限
  • w = 写权限
  • x = 执行权限
  • (连字符)= 无权限

总共有九个字符——前三个适用于所有者,后三个适用于组,最后三个适用于公众。

在这种格式中,相当于777将是rwxrwxrwx.

为什么WordPress文件权限很重要?

由于文件权限控制不同用户可以对您服务器上的文件执行的操作,因此它们在WordPress安全性中起着至关重要的作用。

想象一下,如果您将站点的所有文件和文件夹都设置为777。这意味着任何人都可以创建新文件、修改现有文件、删除现有文件、执行脚本等等。人们可以将恶意脚本添加到您的站点并执行它们,这将很快导致各种问题。那将是一场噩梦!

但是,文件权限是一种平衡行为,如果您限制太多,您的网站也会停止工作。

例如,如果您将权限设置为000,您的WordPress站点将完全停止运行,因为您的站点甚至无法读取服务器上的任何文件。

因此,WordPress的最佳文件权限总是介于000(没有人拥有任何权限)和777(每个人都拥有所有权限)之间。

但是,文件权限也可能很棘手,因为即使在更现实的场景中,您仍然可能会遇到问题。例如,444是您站点的.htaccess文件的一个非常安全的设置。

但是,如果您确实这样设置,您可能会遇到一些需要能够写入您网站的.htaccess文件的插件的问题(例如WP RocketW3 Total Cache缓存插件)。

因此,如果您正在使用需要写入权限的插件之一,您可能需要切换到稍微宽松的644甚至666,具体取决于您的 Web 服务器的配置方式。

为什么需要更改WordPress文件权限?

简短的回答是大多数人不需要手动更改文件权限

如果您使用主机的自动安装程序安装了WordPress,那么作为该设置过程的一部分,任何好的主机都应该自动为您设置最佳文件权限。

因此,如果您使用主机的自动安装程序并且您的WordPress站点运行良好,您可能不需要修改站点的文件权限。

但是,如果您自己手动安装WordPress,则可能会出现问题。在插件安装和使用过程中,您可能还会遇到文件权限问题,例如上一节中的缓存插件示例。

WordPress的正确文件权限

在本节中,我们将讨论WordPress的正确文件权限。然后,如果您需要帮助,我们将在下一节中向您展示如何更改它们。

首先,重要的是要注意最佳文件权限部分取决于您的托管环境的配置方式。对于一个环境来说是最佳和安全的,对于其他环境不一定是这样。对于使用suEXEC的共享主机尤其如此。

一般来说,解决这个问题的一个好的经验法则是从最不许可的配置开始,并且只根据需要添加权限以使事情正常运行。例如,在谈论wp-config.php文件时,您会看到从400644的任何值。如果您不确定从哪里开始,可以从400开始,只要您认识到此设置可能会导致服务器配置出现问题,并且如果遇到问题,您可能需要使其更加宽松。

无论如何,您都不应该将任何权限设置为777(除非您是专家并且有充分的理由这样做)。

大多数WordPress文件/文件夹的默认文件权限

一般来说,WordPress的正确文件权限应该如下:

  • 文件: 644
  • 文件夹: 755

但是,有一些特殊的豁免需要注意:

  • wp-config.php文件
  • .htaccess文件
  • nginx.conf文件

wp-config.php权限

您站点的wp-config.php文件是一个超级敏感的文件,其中包含您站点的数据库凭据和许多其他重要信息。

wp-config.php文件的一个很好的起点是644。但是,您会在此处找到许多其他建议,包括640600。为了更加锁定它,有些人甚至使用444。

但是,如果您使用444,则可能会导致问题,因为许多WordPress插件依赖于wp-config.php文件的写入权限。

.htaccess权限

您站点的.htaccess文件是另一个值得特别注意的重要配置文件。

.htaccess权限的一个很好的起点是644,这是WordPress Codex推荐的一些开发人员还推荐444。但是,如果您使用444,它可能会限制需要写入.htaccess文件的插件(例如大多数缓存插件)。

注意:没有.htaccess文件,那可能是因为主机使用Nginx网络服务器来提高性能。.htaccess文件只是Apache网络服务器上的一项功能。

nginx.conf权限

相同的.htaccess文件权限也适用于nginx.conf,如果您的主机使用Nginx网络服务器,它是主要配置文件。

一般地,nginx.conf文件也是使用644 。一些开发人员还推荐444

如何快速检查WordPress文件权限

如果您想要一种快速、非技术性的方式来检查您网站的文件权限以查看是否有任何问题,您可以使用WordPress.org上的免费iThemes Security插件。

您还可以使用FTP或cPanel文件管理器,我们将在下一节中向您展示 – 我们首先只是共享此插件,作为检测潜在问题的快速方法。

激活插件后,转到Security → Settings并单击File Permissions下的Show Details按钮:

WordPress中文件权限工具的位置

WordPress中文件权限工具的位置

在这里,您将找到您当前的WordPress文件权限以及它们与iThemes Security推荐的文件权限的比较。您可以看到iThemes为wp-config.php文件和nginx.conf.htaccess文件推荐444 .

但请记住,  444会导致与某些插件发生冲突,因此您可能希望避免使用它。

现有文件权限与建议的权限设置进行比较

WordPress中的iThemes安全功能将现有文件权限与建议的权限设置进行比较

如果您不想在设置后继续使用该插件,我们建议您将其删除。

如何编辑WordPress文件权限

现在,让我们谈谈如何在需要时更改WordPress网站的文件权限。您可以使用几种不同的方法——我们将向您展示三种方法:

  • FTP
  • cPanel文件管理器
  • SSH/终端

FTP/SFTP

如果您知道如何使用FTP/SFTP连接到您的服务器,那么任何优质的FTP 客户端都应该让您快速更改文件权限。

我们将向您展示它是如何使用流行的免费和开源客户端FileZilla工作的。

使用SFTP连接到服务器后,右键单击要编辑的文件/文件夹,然后选择文件权限

如何在FileZilla中使用FTP更改文件权限

如何在FileZilla中使用FTP更改文件权限

然后,您可以使用复选框或直接输入数字:

如何使用FileZilla输入新的文件权限

如何使用FileZilla输入新的文件权限

cPanel文件管理器

如果您的主机提供cPanel,您可以使用cPanel的文件管理器工具来编辑WordPress文件权限。

在cPanel文件管理器中,右键单击要编辑的文件或文件夹,然后选择更改权限

如何使用cPanel文件管理器更改文件权限

如何使用cPanel文件管理器更改文件权限

然后,选中相关框以分配权限。当你这样做时,你会在底部看到总数发生变化:

如何使用cPanel输入新的文件权限

如何使用cPanel输入新的文件权限

设置正确的权限,一切顺利!

命令行

如果您觉得从命令行工作很舒服,您还可以使用chmod. 我们喜欢使用这个chmod计算器来快速获得适当的权限。

小结

正确的WordPress文件权限是创建安全、运行良好的网站的重要组成部分。但是您无需过多担心文件权限,因为如果您使用主机的自动安装工具,大多数主机都会正确配置所有内容。

但是,如果您是手动安装WordPress,或者您的站点的原始文件权限被某些东西弄乱了,您可能需要编辑站点的文件权限。

一般来说,WordPress目录权限应该是755,WordPress文件权限应该是644。一些重要的例外情况包括您站点的wp-config.php文件和服务器的.htaccessnginx.conf文件,您可以稍微减少对它们的允许。

无论如何,请确保您永远不会在实时站点上将文件权限设置为777(即使您知道自己在做什么)。这样做会使您的网站和服务器面临巨大的安全漏洞。