權限(rwx)只能控制「誰能讀寫執行」,無法阻止 root 或擁有者誤刪、覆寫關鍵檔案。chattr(Change Attribute)操作檔案系統層級的**擴展屬性**,+i(immutable)屬性一旦加上,**連 root 也無法修改、刪除、重新命名、建立連結、寫入資料**,提供最強級別的檔案保護。

# 加上不可變更屬性
chattr +i /path/to/critical_file
# 驗證屬性
lsattr /path/to/critical_file
# 輸出:----i---------e---- /path/to/critical_file
# 移除屬性(需 root)
chattr -i /path/to/critical_file
| 屬性 | 字母 | 效果 |
|---|---|---|
| 不可變更 | i | 不可修改、刪除、重命名、建立硬連結、寫入資料(最強保護) |
| 僅可追加 | a | 只能以追加模式開啟寫入(適用日誌檔防竄改) |
| 不更新 atime | A | 讀取不更新存取時間(減少 SSD 寫入、提升效能) |
| 壓縮儲存 | c | 核心透明壓縮(需檔案系統支援,如 btrfs、ext4 + e4crypt) |
| 安全刪除 | s | 刪除時以零覆寫資料區塊(防資料殘留復原) |
| 同步更新 | S | 寫入即同步至磁碟(等同 O_SYNC) |
| 無備份 | u | 刪除時保留資料區塊供復原(需檔案系統支援) |
/etc/passwd、/etc/shadow、/etc/sudoers、/etc/fstab、/etc/ssh/sshd_config/etc/rc.local、/etc/systemd/system/*.service/etc/ssl/private/*、/root/.ssh/authorized_keys/var/log/audit/audit.log(搭配 +a 僅追加)rm -f、echo >、mv、ln 皆會報 Operation not permitted。+i:無法在目錄內建立/刪除檔案,但不影響子目錄現有檔案的讀寫(需遞迴加屬性)。chattr -i 僅 root 可執行,提供審計追蹤。lsattr 稽核# 遞迴檢查 /etc 下所有不可變更檔案
lsattr -R /etc | grep '^...i'
# 輸出範例
----i---------e---- /etc/passwd
----i---------e---- /etc/shadow
善用 chattr +i 守護核心檔案,配合 lsattr 定期稽核,構建「改不了、刪不了、查得到」的檔案完整性防線。