萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Windows 10 資訊

Linux chmod 命令修改檔案與目錄權限完整教學

語法結構

chmod [who] [+ | - | =] [mode] 檔案名

權限主體

操作符號

符號含義
uUser(檔案擁有者)
gGroup(同群組用戶)
oOthers(其他用戶)
aAll(所有用戶,預設值)
符號作用
+新增權限
-移除權限
=設定為指定權限,同時移除其他權限

權限模式

字母權限數值
r可讀4
w可寫2
x可執行/進入目錄1
X條件執行:目錄或已有執行位時才加 x-
sSetUID/SetGID(執行時以檔案擁有者/群組身分執行)-
tSticky bit(目錄僅擁有者可刪除檔案)-

數值模式(八進位)

三位數分別代表 User、Group、Others,數值為 r(4)+w(2)+x(1) 組合:

數值權限組合典型用途
777rwxrwxrwx完全開放(極不推薦)
755rwxr-xr-x執行檔/目錄標準權限
644rw-r--r--一般檔案標準權限
600rw-------私密檔案(SSH 金鑰等)
700rwx------私密目錄/腳本

實戰範例

單一檔案

# 符號模式
chmod u+rwx,g+rx,o+r index.html
# 等價數值模式
chmod 754 index.html

批量修改檔案

# 當前目錄所有 .htm 檔案
chmod 644 *.htm

# 遞迴修改目錄下所有檔案為 644,目錄為 755(推薦用 find)
find /var/www/html -type f -exec chmod 644 {} \;
find /var/www/html -type d -exec chmod 755 {} \;

# 簡寫:僅修改檔案
chmod -R 644 /var/www/html  # 不推薦:會把目錄也改成 644 導致無法進入

目錄權限特性

權限檔案含義目錄含義
r讀取檔案內容列出目錄檔名(ls)
w寫入/修改檔案建立/刪除目錄內檔案
x執行檔案進入目錄(cd)、存取內部檔案

關鍵差異:目錄需 x 權限才能 cd 進入或存取內部檔案,即使有 r 也不行。檔案需 x 才能當程式執行。

特殊權限實例

# SetUID:執行時獲得檔案擁有者權限(如 passwd)
chmod u+s /usr/bin/passwd
# 或數值:4755

# SetGID:目錄下新建檔案自動繼承群組(協作目錄常用)
chmod g+s /data/shared
# 或數值:2770

# Sticky bit:/tmp 目錄防止用戶刪除他人檔案
chmod +t /tmp
# 或數值:1777

遞迴參數 -R 使用警示

chmod -R 777 /upload 會將目錄與檔案全部設為 777,極度危險。正確做法請見上方 find 分類處理範例。

查看權限

ls -l 檔案名        # 基本權限
ls -ld 目錄名       # 查看目錄本身權限
stat 檔案名         # 完整資訊含八進位數值
getfacl 檔案名      # 查看 ACL 擴展權限
copyright © 萬盛學電腦網 all rights reserved