在 cPanel 中了解及管理檔案權限

檔案權限決定誰可以讀取、修改或執行你主機帳戶內的檔案和資料夾。正確的權限對於維護網站安全及 cPanel 帳戶和託管網站的正常運作至關重要。


甚麼是檔案權限?


在以 Linux 為基礎的主機伺服器(cPanel 使用)上,每個檔案和資料夾都有一個 擁有者、一個 群組,以及一組 權限規則

權限決定以下對象可進行哪些操作:

  • 用戶(擁有者) — 你的 cPanel 帳戶

  • 群組 — 伺服器層級群組

  • 其他/所有人 — 伺服器上其他所有人

每一類都可對檔案及目錄有三種存取權限:

  • 讀取 (r) - 允許檢視檔案內容/列出資料夾內檔案

  • 寫入 (w) - 允許修改檔案/於資料夾內新增或刪除檔案

  • 執行 (x) - 允許執行檔案(腳本、應用程式)/進入/存取資料夾

注意:資料夾必須有 執行 (x) 權限才可存取。


存取等級亦以 數字定義:

  • 0 - 無法存取檔案

  • 1 - 只可執行

  • 2 - 只可寫入

  • 3 - 可寫入及執行

  • 4 - 只可讀取

  • 5 - 可讀取及執行

  • 6 - 可讀取及寫入

  • 7 - 可讀取、寫入及執行(完整權限)

例子:最常見的 755 及 644

  • 擁有者:7 - 可讀取、寫入、執行

  • 群組:5 - 可讀取、執行

  • 其他:5 - 可讀取、執行

  • 擁有者:6 - 可讀取、寫入

  • 群組:4 - 可讀取

  • 其他:4 - 可讀取

為確保你網站的檔案能正確顯示於瀏覽器,我們建議使用以下權限:

HTML 及圖片檔案 應設為 644 (0644) — 這讓所有用戶都可讀取檔案,但只有帳戶擁有者可修改。這些權限通常在檔案建立時自動套用。

資料夾 應設為 755 (0755) — 這讓其他人可讀取及存取資料夾內容,但只有帳戶擁有者可修改。這些權限通常在建立資料夾時自動分配。

CGI 檔案(通常位於 cgi-bin 資料夾)應設為 755 (0755)。這讓其他人可讀取及執行檔案,但只有帳戶擁有者可修改。這些權限 不一定會自動設定,可能需要手動調整。

注意事項

  1. 避免將權限設為 777,因為這會造成嚴重的安全風險。

  2. 錯誤的權限設定可能大大削弱你的主機帳戶安全,讓未經授權的用戶修改你的檔案、洩露敏感設定資料,並增加惡意程式感染的風險。

  3. 從網站功能角度來看,不當的權限可能導致 500 內部伺服器錯誤、「403 權限被拒」錯誤、媒體上傳失敗、外掛或主題安裝問題等。


如何更改檔案及目錄權限


權限可透過三種主要方式修改:使用 檔案管理員(於 cPanel 內)、SSH (指令列),或 排程任務(cron job)(自動執行指令)。每種方法適用於不同情況。

  • 檔案管理員

當你需要更改 一個或少量 檔案/資料夾的權限時很有用。

  1. 登入你的 cPanel 帳戶,前往 檔案 部分,並打開 檔案管理員選單。

    或從 主機管理員,點擊 管理 於主機方案旁,進入 檔案與儲存空間,然後點擊 管理檔案 於網站名稱旁。你將被導向檔案管理員中的網域根目錄。

  2. 你會在右側欄位看到現有權限,名為 權限


  3. 要編輯特定檔案/資料夾的現有權限,只需點擊 一次 檔案權限,設定所需數字,然後按 儲存 (或 Enter):


    你亦可透過 右鍵點擊 檔案/資料夾並選擇 更改權限 選項來修改權限。相關視窗會彈出:



    調整 核取方格並點擊 更改權限 以儲存。


    提示:使用檔案管理員上方選單的 權限 選項時,亦會開啟相同的設定表:


  • SSH 指令列

SSH 讓你可用 chmod 指令修改權限。當你需要更改 大量檔案 的權限時很有用。

  1. SSH 存取你的主機帳戶。

  2. 接著,使用以下指令前往你的網域根目錄:

    cd /home/username/root_folder

    注意:請確保將 username 換成你實際的 cPanel 用戶名稱,並將 root_folder 換成你網域的正確目錄名稱:

  3. 執行以下指令,將資料夾權限設為 0755,檔案權限設為 0644

    find ./ -type f -not -perm 644 -not -name ".ftpquota" -exec chmod 644 -c {} \;; find ./ -type d -not -perm 755 -not -group nobody -exec chmod 755 -c {} \;

  4. 指令完成後,會顯示已更新權限的檔案及資料夾清單:


  • 排程任務(Cron Jobs)

排程任務讓你可預設指令(如 chmod)於指定時間自動執行。

  1. 於 cPanel 內,前往 排程任務選單:


  2. 新增排程任務部分,將 常用設定 參數設為 每五分鐘一次,並將以下腳本加入 指令 欄:

    cd /home/username/root_folder && find ./ -type f -not -perm 644 -not -name ".ftpquota" -exec chmod 644 -c {} \;; find ./ -type d -not -perm 755 -not -group nobody -exec chmod 755 -c {} \;

    注意 1:請確保將 username 換成你實際的 cPanel 用戶名稱,並將 root_folder 換成你網域的正確目錄名稱。

    注意 2:腳本 不能 於主目錄(如 /home/username)執行。主目錄包含系統及帳戶專屬資料夾,這些資料夾需特定權限以確保 cPanel 正常運作。將這些權限改為預設值(0755/0644)可能導致安全問題、服務衝突或控制台故障。只能透過還原完整 cPanel 備份修復。


  3. 執行排程任務並 等待最多 5 分鐘 讓腳本完成相關更改。之後必須將其移除:


如你不確定正確的權限設定,建議只作最少更動或 聯絡支援 以避免潛在安全風險或服務中斷。

必須提供有效的電郵地址