Linux 權限是很多新手管理 VPS 時最容易怕的地方。網站不能寫檔、Nginx 讀不到檔案、WordPress 外掛更新失敗時,網路上常有人叫你 chmod 777,但這通常不是好習慣。
這篇用新手看得懂的方式說明 rwx、user、group、others、chmod、chown 的基本概念。重點不是背數字,而是知道「誰可以讀、誰可以改、誰可以執行」。
你會先搞懂這幾件事
- Linux 權限分成擁有者、群組、其他人三組。
r是 read,w是 write,x是 execute。- 檔案與目錄的
x意義不同。 chmod改權限,chown改擁有者。- 不要用
777當作萬用修法。
用 ls -l 看權限
ls -l
你可能會看到:
-rw-r--r-- 1 clarence www-data 1200 May 30 index.php
drwxr-xr-x 2 clarence www-data 4096 May 30 public_html
第一段就是權限:
-rw-r--r--
拆開看:
| 位置 | 意義 |
|---|---|
| 第 1 個字元 | - 是檔案,d 是資料夾 |
| 第 2-4 個字元 | 擁有者 user 的權限 |
| 第 5-7 個字元 | 群組 group 的權限 |
| 第 8-10 個字元 | 其他人 others 的權限 |
rwx 是什麼
| 符號 | 英文 | 對檔案的意思 | 對目錄的意思 |
|---|---|---|---|
r | read | 可以讀檔案內容 | 可以列出目錄內容 |
w | write | 可以修改檔案 | 可以新增、刪除、改名目錄內項目 |
x | execute | 可以執行檔案 | 可以進入這個目錄 |
目錄沒有 x 時,即使你有 r,也可能無法正常進入或讀取裡面的檔案。
chmod 數字怎麼看
常見數字:
| 數字 | 權限 | 意義 |
|---|---|---|
| 7 | rwx | 讀、寫、執行 |
| 6 | rw- | 讀、寫 |
| 5 | r-x | 讀、執行 |
| 4 | r-- | 只讀 |
| 0 | --- | 沒權限 |
例如:
chmod 644 index.php
chmod 755 public_html
644 通常適合一般檔案:擁有者可讀寫,其他人只讀。
755 通常適合網站目錄:擁有者可讀寫進入,其他人可讀與進入。
chown 是改擁有者
sudo chown clarence:www-data index.php
sudo chown -R clarence:www-data public_html
格式是:
user:group
-R 代表遞迴套用整個資料夾。這很有用,也很危險。正式網站操作前,先確認目錄位置:
pwd
ls -la
不要在根目錄或錯誤目錄下亂下 chown -R。
為什麼不要 chmod 777
777 代表 user、group、others 都可以讀寫執行。
這會讓問題看起來暫時解決,但也可能讓:
- 網站程式被寫入惡意檔案。
- 上傳目錄可以執行不該執行的檔案。
- 其他使用者或服務能改你的檔案。
- 未來排查更困難,因為權限已經被改亂。
遇到權限錯誤,先問:
- 目前檔案是誰擁有?
- 哪個服務需要讀或寫?
- 是檔案需要改,還是目錄需要改?
- 是否只有特定目錄需要寫入?
WordPress / 網站檔案常見方向
不同主機環境會不同,但概念上:
- 程式檔案不該全部讓 web server 任意寫入。
- 上傳目錄需要可寫,但不該允許執行 PHP。
- 設定檔例如
.env、wp-config.php要更保守。 - 如果用部署流程,應讓部署使用者負責更新檔案。
如果你使用 cPanel 虛擬主機,很多權限已由主機環境處理;如果你自己管理 VPS,就需要更清楚檔案擁有者與 Web server 使用者的關係。
檢查權限的安全順序
pwd確認所在位置。ls -la看權限、擁有者與群組。- 確認服務使用者,例如
www-data、nginx、apache。 - 只改需要的檔案或目錄。
- 改完後測試網站或服務。
- 記錄改了什麼,避免下次不知道原因。
下一步
如果你不確定網站檔案權限要怎麼設,或 VPS 上的 WordPress 無法更新外掛,可以先整理錯誤訊息、檔案路徑與目前權限,再到 聯絡我們 取得協助。