WordPress 檔案權限決定網站帳戶、群組及其他程序可否讀取、修改或執行檔案。權限太嚴會令更新、上傳和快取失敗;太寬則可能讓其他帳戶或被入侵的程序改寫網站。正確做法要同時核對擁有者、群組、伺服器執行方式和實際需要。
先建立完整備份
修改前備份資料庫、`wp-content`、`wp-config.php`、`.htaccess` 及伺服器設定。記錄現有擁有者與權限,確保改錯後能逐項還原,而不是依印象猜測原值。
理解讀取、寫入與執行
讀取允許查看內容,寫入允許修改,目錄的執行權限則關乎能否進入及存取其項目。數字權限分別套用於擁有者、群組和其他使用者,不要只背誦一組數字。
先核對檔案擁有者
大量更新失敗常由 ownership 錯誤引起,不一定是權限不足。確認部署帳戶、PHP 或網站伺服器程序所用帳戶及群組,再依主機架構設定;共享主機與自管 VPS 可能完全不同。
使用常見安全基準
一般安裝常以目錄 `755`、檔案 `644` 作起點,讓擁有者可寫而其他帳戶只能讀取。這是常見基準而非所有主機的固定答案,受管主機或群組寫入架構可能要求不同設定。
避免使用 777
`777` 令所有使用者都可讀、寫及執行,會大幅擴大風險。遇到上傳或更新問題時,應找出真正需要寫入的目錄、擁有者或 PHP 執行帳戶,不要把整個網站遞迴開放。
特別保護 wp-config.php
`wp-config.php` 包含資料庫連線和安全設定,應只讓必要帳戶讀取。部分環境可使用比一般檔案更嚴格的權限,但改動後必須確認 PHP 仍能讀取,否則網站會立即失效。
檢查 wp-content 寫入需求
媒體上傳、外掛更新、快取及備份通常需要在 `wp-content` 內特定目錄寫入。只開放 `uploads`、快取或備份工具真正需要的位置,不應讓所有外掛和主題檔案長期可被網站程序改寫。
分開處理 plugins 與 themes
正式環境若由部署流程管理程式碼,可讓外掛及主題只由部署帳戶寫入。若使用後台自動更新,則要依主機要求提供有限寫入權,並配合更新紀錄和完整性監察。
小心處理 .htaccess
使用 Apache 永久連結時,WordPress 可能需要更新 `.htaccess`。可在修改永久連結期間提供必要權限,寫入成功後再收緊;不要為方便而讓它永久對所有帳戶可寫。
不要混用檔案與目錄模式
目錄需要執行權限才能進入,普通檔案通常不需要。把同一權限遞迴套用到所有項目,可能令 PHP、圖片或設定檔多出不必要的執行權,或令目錄無法瀏覽。
先在單一位置測試
由出錯的目錄或檔案開始,逐級找出最低可用權限。測試媒體上傳、外掛更新、永久連結和快取,再決定是否擴大修改範圍,避免一次改動整個網站。
透過安全通道修改
使用主機檔案管理器、SFTP 或 SSH,不要使用未加密 FTP 傳送管理憑證。執行遞迴命令前先確認實際路徑,避免在錯誤網站或上層目錄套用權限。
配合停用後台檔案編輯
若網站不需要在後台直接修改外掛或主題,可停用內建檔案編輯器,降低管理員帳戶被接管後植入程式碼的機會。程式修改應經版本控制、測試和部署流程。
檢查更新後是否被改回
主機遷移、還原、部署或解壓縮可能改變擁有者與權限。每次大型操作後抽查根目錄、`wp-content`、設定檔及新建立檔案,並監察異常可寫項目。
建立權限維護紀錄
記錄主機架構、擁有者、基準權限、例外目錄、修改原因和復原方法。若必須暫時放寬權限,加入截止時間和覆核人,完成工作後立即恢復。
參考資料
[WordPress 官方:Changing File Permissions](https://developer.wordpress.org/advanced-administration/server/file-permissions/)
[WordPress 官方:Hardening WordPress](https://developer.wordpress.org/advanced-administration/security/hardening/)









