熱門分類
 載入中…
目錄

Linux 權限管理教學:理解 rwx、chmod、chown 與特殊權限設定

    🔒 Linux 權限管理教學:理解 rwx 與 chmod 實作

    權限管理是 Linux 系統中最重要的安全機制之一。 每個檔案與資料夾都具有 讀取(read)寫入(write)執行(execute) 權限, 並且這些權限分別對應三種類型的使用者:擁有者(owner)群組(group)其他人(others)

    1️⃣ 檢視檔案權限

    使用 ls -l 查看檔案的權限與擁有者資訊:

    ls -l
      

    範例輸出:

    -rwxr-xr-- 1 user staff 2048 Oct 20 11:00 script.sh
      

    欄位說明:

    • -:表示一般檔案(若為 d 則為資料夾)
    • rwx:擁有者權限(read/write/execute)
    • r-x:群組權限
    • r--:其他使用者權限

    以上例中,表示「擁有者可讀寫執行,群組可讀執行,其他人只能讀」。

    2️⃣ 修改權限:chmod

    可以使用符號方式或數字方式修改檔案權限。

    🔹 符號方式

    chmod u+x script.sh     # 為擁有者新增執行權限
    chmod g-w script.sh     # 移除群組的寫入權限
    chmod o=r file.txt      # 設定其他使用者只能讀
      

    🔹 數值方式

    數值對應表:

    r = 4
    w = 2
    x = 1
      

    例如:

    chmod 755 script.sh
      

    代表:

    • 擁有者:7 → rwx
    • 群組:5 → r-x
    • 其他人:5 → r-x

    常見組合:

    • 644 → 一般文字檔(rw-r--r--)
    • 755 → 可執行腳本(rwxr-xr-x)
    • 700 → 僅限擁有者使用(rwx------)

    3️⃣ 修改擁有者與群組

    使用 chownchgrp 修改檔案擁有者或群組:

    chown user1 file.txt          # 修改檔案擁有者
    chgrp staff file.txt          # 修改檔案群組
    chown user1:staff file.txt    # 同時修改擁有者與群組
      

    若要遞迴修改整個資料夾下的檔案,可加入 -R 參數:

    sudo chown -R user1:staff /var/www/
      

    4️⃣ 進階:特殊權限(SUID / SGID / Sticky Bit)

    Linux 還有三種進階權限位:

    • SUID (4):執行時以檔案擁有者權限運行。
    • SGID (2):群組繼承權限。
    • Sticky Bit (1):限制資料夾中檔案刪除權限(如 /tmp)。

    設定範例:

    chmod 4755 /usr/bin/testapp   # 加上 SUID
    chmod 2755 /shared            # 加上 SGID
    chmod 1755 /tmp/shared        # 加上 Sticky Bit
      

    📘 小結

    • 🔹 檢查權限:ls -l
    • 🔹 修改權限:chmod
    • 🔹 修改擁有者:chown / chgrp
    • 🔹 特殊權限:SUID、SGID、Sticky Bit

    熟悉這些權限管理技巧,能確保系統安全與多使用者環境下的資源隔離。 無論是伺服器部署或日常維運,正確設定檔案權限都是關鍵步驟之一。

    — WWFandy・系統與安全筆記

    🔗 分享這篇 LINE Facebook X

    沒有留言:

    張貼留言

    字級