WordPress 文件權限:配置安全網站和 Web 服務器權限的指南

已發表: 2020-07-02

WordPress 幾乎可以在任何運行 PHP 的操作系統上運行。 但是,絕大多數 WordPress 網站都在 Linux 上運行。 因此,了解 Linux 文件權限非常重要。

獲得正確的文件權限至關重要。 設置不正確的文件權限可能會使您的網站受到攻擊。 不正確的文件權限可能允許未經授權的用戶獲得對潛在敏感文件和數據的訪問權限。 然後可以將此類數據用作更大攻擊的墊腳石。

作為 WordPress 管理員,文件權限可能看起來有點令人生畏,特別是如果您是 Linux 新手。 不要怕! 本指南從頭開始解釋 Linux 上的文件權限。 它還解釋了 Linux 文件權限如何應用於您的 WordPress 網站。

表中的內容

  • 什麼是文件權限?
    • 權限組
    • 權限類型
  • 權限表示
  • 推薦的 WordPress 文件權限
  • 如何修復 WordPress 文件權限
    • 在共享託管服務上
    • 通過 FTP
    • 通過 SSH
  • 額外提示:文件權限之外的安全性

什麼是文件權限?

權限組

這一切都始於。 與任何其他操作系統一樣,Linux 也有用戶的概念。 在定義可以訪問文件時,Linux 系統上的每個文件和目錄都具有三個權限組。

  • 所有者
    • 每個文件或目錄都有一個所有者。
    • 所有者權限僅適用於文件或目錄的所有者。 它們不會影響其他用戶的操作。
  • 團體
    • 可以為每個文件或目錄分配一被授予訪問權限的用戶。
    • 權限僅適用於已分配給文件或目錄的組。 它們不會影響其他用戶的操作。
  • 其他
    • 每個文件或目錄都可以定義“其他人”擁有的權限。 也就是說,除了我們設置的所有者
    • 其他權限適用於系統上的所有其他用戶。 這是您最想觀看的權限組,因為您可能會無意中允許所有人訪問。

權限類型

現在我們知道如何指定可以訪問文件或目錄,我們需要為文件或目錄選擇我們賦予每個所有者其他人的權限類型。 以下是我們可以賦予權限組所有者其他)的權限類型

    • 讀取權限類型是指用戶讀取文件內容的能力。
    • 寫入權限是指用戶寫入和/或修改文件內容的能力。
    • 可以允許用戶寫入文件而他們無法讀取其內容。
  • 執行
    • 執行權限影響用戶運行文件的能力,例如腳本。
    • 執行權限還允許用戶查看目錄的內容。

權限表示

現在我們已經了解了權限的工作原理,讓我們看看 Linux 權限實際上是如何表示的。 文件權限存儲為一系列 3 個數字。 但是,它們也可以表示為字母,使它們更易於閱讀。 讓我們首先了解這些數字的含義。

  1. 第一個數字
    • 授予所有者的權限
  2. 第二個號碼
    • 授予的權限
  3. 第三個數字
    • 授予其他人的權限(其他所有人,除了所有者

每個數字對應於我們之前討論的一種或多種權限類型的組合。 可視化時更容易理解這一點。 每種權限類型都有一個權重,該權重為每個權限組在一起。

Linux 文件和目錄權限

使困惑? 可能需要一些時間和一些練習才能將你的頭包裹起來。 同時,這裡列出了您可以分配給每個權限組的所有可能的文件權限。

數字信件描述
0 (0+0+0) --- 無法訪問
1 (0+0+1) - X 執行
2 (0+2+0) -w-
3 (0+2+1) -wx 編寫和執行
4 (4+0+0) r--
5 (4+0+1) 接收讀取和執行
6 (4+2+0) rw- 讀和寫
7 (4+2+1) rwx 讀取、寫入和執行

看一個具體的例子, 644文件權限意味著

  • owner讀寫文件或目錄的權限
  • 有權讀取文件或目錄
  • 其他有權讀取文件或目錄

文件管理器權限 644 解釋

您通常會看到這些值之間沒有任何空格,並且在開頭帶有額外的-d-表示常規文件。 d表示目錄。 以下是使用 Linux ls -la命令列出目錄中的文件的示例。

 $ ls -la
共 0
drwxr-xr-x 4 用戶組 128 5 月 25 日 23:25 。
drwxrwxrwt 8根輪256 5月25日23:25..
drwxr-xr-x 2 用戶組 64 May 25 23:25 目錄
-rw-r--r-- 1 用戶組 0 May 25 23:25 file.txt

推薦的 WordPress 文件權限

設置不正確的 WordPress 文件權限可能會導致意外授予其他用戶的訪問權限而不是您的意思。 在最壞的情況下,這可能允許攻擊者更改他們不打算訪問的重要文件的內容。 它還可能允許 Internet 上的任何用戶讀取您的 WordPress 安裝中的敏感文件。

這就是為什麼您永遠不應該將 WordPress 文件權限設置為777 (-rwxrwxrwx)。 這將允許任何能夠控制該文件的人完全讀取、寫入和執行訪問權限。 這可能是第三方通過 FTP 或 SSH 進行更改,或者是攻擊者通過上傳表單進行更改。

另一方面,您需要注意不要讓 WordPress 完成它的工作過於嚴格。 由於 WordPress 本身以及主題和插件通常需要安全地更改多個文件。 例如,當 WordPress 自動更新以保護您的網站免受安全漏洞影響時。

所以為了爭論, 444 (-r–r–r–)的權限可能會導致您的WordPress網站出現故障。 444 WordPress 將只允許讀取d ,因此自動更新將失敗。 話如此,可以使用只讀權限( 444或 r–r–r–)運行 WordPress。 這將是一個非常簡單的安裝。 但是,您需要考慮上述限制。

一些託管 WordPress 託管服務提供商開箱即用地支持此功能。 不過,如果您想以此類權限運行 WordPress,請先在暫存環境中嘗試。

WordPress推薦的文件權限如下。

類型數字信件描述
目錄755 drwx-wx-wx WordPress安裝目錄
文件644 -rwxr--r-- WordPress 核心、WordPress 主題和插件(某些主題和插件可能存在例外情況)
wp-config.php 600 -rw-------- WordPress 配置文件
.htaccess 644 或
600
-rw-r--r--
-rw--------
Apache HTTP Server 配置文件(如果您正在運行 Nginx 或 Apache HTTP Server 以外的 Web 服務器,則可能不適用)

如何修復 WordPress 文件權限

雖然一個託管環境與另一個不同,但您始終可以控制 WordPress 文件權限。

通過共享主機控制面板修復 WordPress 文件權限

如果您使用共享主機,您可能可以訪問某些控制面板,例如 cPanel 或 Plesk。 在這種情況下,請諮詢您的託管服務提供商,了解您需要採取哪些步驟來修改 WordPress 網站上的文件權限。

通過 FTP 修復 WordPress 文件權限

可以通過 FileZilla 或 Cyber​​duck 等 FTP 客戶端輕鬆修復 WordPress 文件權限。 以下屏幕截圖來自 Cyber​​duck。 只需右鍵單擊要更改權限的文件或目錄,單擊Info ,然後單擊Permissions選項卡。

Filezilla 上的過程類似。 右鍵單擊該文件,選擇文件權限,您將看到一個類似的對話框。

使用 FTP 客戶端更改文件權限

通過 SSH 修復 WordPress 權限

如果您已經在使用 SSH 客戶端,則可以執行 Linux chmod 命令來更改文件權限。 以與上面相同的示例為例,要將 wp-config.php 的權限從644更改為600 ,我們將使用以下命令:

 # 將目錄更改為您的 WordPress 安裝位置
$ cd /var/www/html
# 列出 wp-config.php 的文件詳情
$ ls -la wp-config.php
-rw-r--r-- 1 www-data www-data 7368 2019 年 9 月 2 日 wp-config.php
# 將 wp-config.php 的權限從當前的 644 更改為 600
$ chmod 600 wp-config.php
# 驗證你的改變
$ ls -la wp-config.php
-rw------- 1 www-data www-data 7368 2019 年 9 月 2 日 wp-config.php

正確配置的 WordPress 文件權限意味著更安全的網站

讓我們回顧一下所涵蓋的內容。 我們看到文件權限允許我們指定誰以及如何在 Linux 系統上訪問和/或修改文件或目錄。 我們還討論瞭如何使用 SFTP 客戶端以及通過 SSH 更改權限。 但是,我們討論的最重要的事情是為什麼您應該注意正確設置 WordPress 網站上的文件權限。

儘管起初這可能是一個乏味的過程,但不正確的文件權限可能會在您的 WordPress 網站上暴露敏感文件。 此外,在適當的情況下,它們可能允許攻擊者將低嚴重性漏洞升級為更危險的漏洞。

現在您對文件權限在 Linux 上的工作方式以及它們如何影響 WordPress 站點的安全性有了更好的了解,請使用這些信息來支持任何過於寬鬆的 WordPress 文件權限。

額外的安全提示:超越 WordPress 文件權限

正確的 WordPress 文件權限是開始處理 WordPress 安全性的好地方。 然而,這些遠非唯一需要擔心的事情。 您應該做的其他事情來改善您的 WordPress 網站的安全狀況是:

  • 在 WordPress 活動日誌中記錄您網站上發生的所有事情,
  • 使用 WordPress 文件完整性監控插件,
  • 執行強大的 WordPress 密碼策略,
  • 向您的 WordPress 網站添加雙重身份驗證,
  • 安裝 WordPress 防火牆/使用在線 WordPress 防火牆服務。