萬盛學電腦網

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

Linux 修改檔案權限指令 chmod 完整教學與常用範例

Linux 檔案權限管理核心指令:chmod

在 Linux 系統中,chmod(Change Mode)是用來變更檔案或目錄存取權限的核心指令。掌握這個指令能讓你精確控制誰能讀取、寫入或執行特定檔案,是系統管理與資安的基礎技能。

基本語法結構

chmod [權限模式] [檔案/目錄名稱]

權限模式通常以三位數字表示(八進位),分別對應三類身份:

  • 第一位:擁有者
  • 第二位:群組使用者
  • 第三位:其他使用者

權限數值對照表

每個數字由「讀(4)」、「寫(2)」、「執行(1)」相加組成:

數值權限組合符號表示
74+2+1rwx(讀、寫、執行)
64+2rw-(讀、寫)
54+1r-x(讀、執行)
44r--(唯讀)
32+1-wx(寫、執行)
22-w-(唯寫)
11--x(唯執行)
00---(無權限)

實務常用權限設定範例

1. 私密檔案:僅擁有者可讀寫 (600)

sudo chmod 600 secret.key

適用於 SSH 私鑰、設定檔等敏感檔案。

2. 網頁檔案標準權限 (644)

sudo chmod 644 index.html

擁有者可修改,群組與其他人僅能閱讀,是網頁檔案的標準設定。

3. 執行腳本/程式:擁有者完整權限 (700)

sudo chmod 700 deploy.sh

僅擁有者能執行、修改,防止他人誤執行或竄改。

4. 共用編輯目錄:所有人可讀寫 (666)

sudo chmod 666 shared.txt

⚠️ 安全性提醒:生產環境極少使用,任何人都能修改內容。

5. 完全開放:所有人擁有最高權限 (777)

sudo chmod 777 public_folder

🚫 極度不建議:除非臨時測試,否則會造成嚴重資安漏洞。

進階用法:符號模式

除了數字模式,也可用符號模式更直觀地調整權限:

  • chmod u+x script.sh:給擁有者增加執行權限
  • chmod g-w file.txt:移除群組寫入權限
  • chmod o=r file.txt:設定其他人唯讀
  • chmod a+rwx directory:所有人獲得所有權限

遞迴套用至目錄樹

chmod -R 755 /var/www/html

加上 -R 參數可連同子目錄與檔案一併修改,常用於部署專案時批次調整權限。

特殊權限位(進階)

  • SUID (4xxx):執行時以檔案擁有者身份運行(如 passwd 指令)
  • SGID (2xxx):執行時以檔案群組身份運行;目錄設定後,新建檔案自動繼承該群組
  • Sticky Bit (1xxx):目錄下僅檔案擁有者或 root 能刪除檔案(如 /tmp)

檢視目前權限

ls -l filename

輸出範例:-rw-r--r-- 1 user group 1024 Jan 1 12:00 file.txt

  • 第一字元:檔案類型(- 檔案、d 目錄、l 連結)
  • 第1-3字元:擁有者權限
  • 第4-6字元:群組權限
  • 第7-9字元:其他人權限
copyright © 萬盛學電腦網 all rights reserved