萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

Linux 檔案權限詳解:擁有者、群組、其他人與 rwx 權限模型完整指南

Linux 的檔案權限機制比 Windows 更嚴格有效。Windows 下不同使用者仍可透過某些方式互訪檔案,而 Linux 採用離散式存取控制 (DAC),嚴格區分三類主體與三種權限,構成完整的保護矩陣。

權限主體:三類互斥對象

  1. user (u):檔案擁有者,通常為建立者。
  2. group (g):檔案擁有者所屬群組的其他成員(不含擁有者本身)。
  3. other (o):除擁有者與群組成員外的所有其他使用者。

權限類型:三個二進制位元

查看權限:ls -l 輸出解讀

第一欄共 10 個字元,例如 drwxr-xr--:

  • 第 1 字元:d = 目錄,- = 一般檔案,l = 符號連結等。
  • 第 2-4 字元:擁有者 (user) 權限 (rwx)。
  • 第 5-7 字元:群組 (group) 權限 (rwx)。
  • 第 8-10 字元:其他人 (other) 權限 (rwx)。
  • - 表示無該權限 (值 0)。

修改權限:chmod 指令

語法:chmod [ugoa][+-=][rwx] 檔案/目錄

位元權限符號數值對檔案意義對目錄意義
第 1 位讀取r4 (100)可讀取檔案內容可列出目錄檔名 (ls)
第 2 位寫入w2 (010)可修改檔案內容可在目錄建立/刪除/重命名檔案
第 3 位執行x1 (001)可執行程式/腳本可進入目錄 (cd)、存取目錄內檔案
代碼對象
uuser (擁有者)
ggroup (群組)
oother (其他人)
aall (全部,等同 ugo)

範例

  • chmod u+x script.sh:給擁有者加上執行權限。
  • chmod go-w file.txt:移除群組與其他人的寫入權限。
  • chmod a=rwx directory:所有人擁有完整權限 (等同 777)。

數字權限表示法 (八進位)

將三組 rwx 換算為三位八進位數字:

  • rwx = 4+2+1 = 7
  • rw- = 4+2+0 = 6
  • r-x = 4+0+1 = 5
  • r-- = 4+0+0 = 4

常見組合:

運算子動作
+增加權限
-移除權限
=設定為唯一權限 (覆蓋)
符號權限數字權限說明
-rw-------600僅擁有者可讀寫
-rw-r--r--644擁有者讀寫,群組/其他人唯讀 (常見網頁檔案)
-rwx------700僅擁有者可讀寫執行 (私有腳本)
-rwxr-xr-x755擁有者全權,群組/其他人讀執行 (常見可執行檔/目錄)
-rwx--x--x711擁有者全權,群組/其他人僅執行
-rw-rw-rw-666所有人可讀寫 (不安全)
-rwxrwxrwx777所有人全權限 (極度不建議)

進階提示

  • 目錄的 x 權限極關鍵:無 x 則無法 cd 進入,也無法存取裡頭檔案(即使有 r)。
  • umask 決定預設建立檔案/目錄的權限遮罩(預設常為 022,即檔案 644、目錄 755)。
  • 特殊權限:setuid (4)、setgid (2)、sticky bit (1),用於特定執行情境(如 passwd、共享目錄)。
copyright © 萬盛學電腦網 all rights reserved