Linux 檔案權限入門指南:rwx、數字模式與目錄權限一次看懂

Linux 檔案權限入門指南:rwx、數字模式與目錄權限一次看懂

Kevin Wu
2026年8月27日· 6 分鐘讀完

Linux 檔案權限回答兩個問題:目前是哪一類用戶,這類用戶可以做甚麼。基礎模型有三類用戶——擁有者、群組、其他用戶——以及讀取、寫入、執行三種權限位。目錄的執行權限含意與普通檔案不同,因此把檔案模式直接套到目錄上可能產生意外結果。

關鍵要點

  • 權限字串應按「類型、擁有者、群組、其他用戶」讀取。
  • 對目錄而言,x 表示穿越或存取項目,不是「執行目錄」。
  • 只授予實際用戶和工作所需的最小權限。
  • 不要用 chmod 777 當作萬能修復,它會向所有人開放寫入。

更通用的證據優先流程見《裝置與 App 疑難排解指南》。

Linux 檔案權限中的擁有者、群組和其他用戶是甚麼?

每個普通 Linux 檔案和目錄都有一個擁有者用戶和擁有者群組。基礎權限分別套用於:

  • 擁有者:擁有該物件的用戶帳戶。
  • 群組:屬於該物件擁有者群組的用戶。
  • 其他用戶:既不是擁有者,也沒有透過擁有者群組配對的其餘用戶。

Ubuntu 檔案管理員文件說明,可分別為擁有者、擁有者群組和系統中的其他用戶設定權限。[1]系統為每次存取選擇適用的一類,不會把「其他用戶」權限疊加到更具體的擁有者或群組配對上。

擁有權與權限相關但不同。改變群組會影響哪些用戶落入「群組」類別;改變模式則改變每類允許的操作。除非知道真正錯誤,不要同時修改兩者。

如何讀取 rwx 權限字串?

長清單可能顯示:

-rw-r-----

從左到右讀取:

  1. - 表示普通檔案,目錄通常以 d 開頭。
  2. rw- 是擁有者權限。
  3. r-- 是群組權限。
  4. --- 是其他用戶權限。

Ubuntu 文件採用相同的「類型加三個三位組」結構,短橫線表示該權限位未設定。[2]

該字串只表示基礎自主存取權限,並不包含所有控制層。ACL、強制存取控制、掛載選項、不可變標記、應用程式規則和網絡檔案系統政策仍可能允許或拒絕操作。

r、w、x 對檔案是甚麼意思?

對普通檔案:

  • 讀取 (r):讀取內容。
  • 寫入 (w):修改或截斷內容。
  • 執行 (x):要求系統把它當作程式或指令碼執行,但還受檔案格式、解譯器、掛載選項和其他控制影響。

檔案寫入權限不等於刪除權限。刪除通常修改父目錄中的項目,因此目錄權限更關鍵。反過來,移除檔案寫入權限能防止直接修改,卻未必阻止有權寫入父目錄的用戶取代或刪除項目。

執行位亦不能證明下載程式安全。賦予執行權限前應核實來源。軟件來源選擇見各種 Linux 軟件套件格式的分別。

權限對目錄是甚麼意思?

目錄權限描述對名稱和項目的存取:

  • 讀取 (r):列出目錄中的名稱。
  • 寫入 (w):建立、刪除或重新命名項目,通常還需要穿越權限。
  • 執行 (x):穿越目錄並按名稱存取項目,同時仍受項目自身權限約束。

Ubuntu 圖形介面的目錄權限標籤亦區分「列出檔案」、「存取檔案」和「建立及刪除檔案」。[1]

因此可能出現:

  • 有 r 沒有 x:能看到名稱,卻無法正常存取元資料或內容。
  • 有 x 沒有 r:知道準確檔案名稱時可以存取,卻不能列出目錄。
  • 目錄同時有 w 和 x:即使檔案不可寫入,也可能刪除或取代目錄項目。

排查路徑時要檢查每一級父目錄。檔案本身可讀,也無法穿過缺少 x 的父目錄。

chmod 數字模式如何計算?

每個權限有一個值:讀取 = 4,寫入 = 2,執行 = 1。擁有者、群組和其他用戶分別相加。

模式擁有者群組其他用戶常見含意
600讀寫無無私人用戶檔案
640讀寫讀無擁有者編輯、群組讀取
644讀寫讀讀廣泛可讀的非秘密檔案
700全部無無私人目錄或可執行檔案
750全部讀與執行無群組可讀並穿越
755全部讀與執行讀與執行公開可穿越目錄或程式

這些只是例子,不是通用處方。644 不適合秘密,755 不適合私人目錄。

符號修改通常更容易覆核,因為它表達意圖。例如 chmod u+x script.sh 只為擁有者增加執行位,chmod 640 report.txt 則把基礎模式取代為明確值。執行前應確認路徑和擁有權。

為甚麼 chmod 777 不是修復?

777 向擁有者、群組和所有其他本機用戶授予讀取、寫入、執行。對目錄而言,其他用戶或程序可能因此建立、取代、重新命名和刪除項目。它會掩蓋原來的擁有權或服務帳戶錯誤,同時擴大安全問題。

應該先問:

  1. 哪個帳戶實際執行應用程式?
  2. 它需要讀取、寫入、建立、刪除還是穿越哪個物件?
  3. 權限應屬於一個擁有者還是受控群組?
  4. 真正阻塞是否發生在父目錄?
  5. 是否還有掛載選項、ACL 或安全政策?

只修復最小不配對。在覆核符號連結、特殊檔案、應用程式預期和還原方案前,不要遞迴改變大型目錄樹。

擁有權、umask 和 Linux 特殊權限呢?

新物件的初始模式由應用程式要求值再經程序 umask 移除部分權限位。這解釋為何同一目錄中的不同應用程式會建立不同模式。

Linux 還有 set-user-ID、set-group-ID、sticky bit 和 ACL,常用於共享目錄和可執行檔案,但超出基礎三位數字模型。如果權限字串出現陌生字元或清單顯示 ACL,應查看具體系統文件,而不是強行改成簡單模式。

以高權限工具改變擁有權可能影響服務、套件管理、備份和用戶存取。不要為省事把整個目錄樹遞迴改成自己的帳戶。

安全排查清單

  1. 確認執行失敗操作的準確用戶或服務帳戶。
  2. 記錄檔案類型、擁有者、群組、基礎模式和父路徑。
  3. 判斷所需操作是讀取、寫入、執行、建立、刪除還是穿越。
  4. 檢查每一級父目錄的 x。
  5. 基礎位正確時檢查 ACL、掛載、沙箱或安全政策。
  6. 只做最小的擁有權、群組或模式改動。
  7. 用實際帳戶測試,並確認無關存取沒有擴大。
  8. 記錄並撤銷臨時診斷改動。

總結

把用戶類別和操作分開,並記住目錄 x 表示穿越,Linux 權限便容易理解。檢查完整路徑,選擇最小模式,並同時考慮擁有權和其他控制層。777 這類寬泛模式不能取代對失敗存取的理解。

常見問題

-rw-r--r-- 是甚麼意思?

普通檔案,擁有者可讀寫,群組和其他用戶只能讀取。

目錄上的 x 是甚麼?

允許穿越目錄並按名稱存取項目,同時受項目自身權限約束,不是「執行目錄」。[2]

可以刪除唯讀檔案嗎?

可能可以。刪除主要由父目錄權限控制,不只由檔案寫入權限決定。

目錄使用 755 一定正確嗎?

不一定,它允許所有用戶讀取並穿越;私人或項目目錄可能需要更窄權限。

檔案可讀,為甚麼仍開不到?

父目錄可能缺少穿越權限,或 ACL、掛載、沙箱和安全政策正在阻止。

指令碼都應該有執行權限嗎?

不應該。只有確實要執行、來源可信而且執行路徑清楚時才增加。

暫時使用 chmod 777 安全嗎?

它會擴大寫入並掩蓋原因。應使用範圍最小的臨時診斷修改,並在測試後還原。


來源:

  1. Ubuntu Help — Set file permissions — https://help.ubuntu.com/stable/ubuntu-help/nautilus-file-properties-permissions
  2. Ubuntu Help — Files list columns preferences — https://help.ubuntu.com/stable/ubuntu-help/nautilus-list.html

Sources checked 2026 年 8 月 27 日。


延伸閱讀:

開啟 3 天免費試用

註冊即可免費體驗全部高級功能。

*只限新用戶;每位用戶只可獲得一次試用。

Linux 檔案權限入門指南:rwx、數字模式與目錄權限一次看懂 | AethoVPN