萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 電腦基礎知識 >  >> 電腦入門

Linux LUKS 加密分區建立、掛載、卸載與開機自動化完整指南

核心工具:cryptsetup (LUKS 標準)

LUKS (Linux Unified Key Setup) 為 Linux 標準磁碟加密格式,支援多金鑰槽、PBKDF2 反暴力破解、標準化標頭元資料。

完整操作流程

  1. 格式化為 LUKS 容器 (初始化,不可逆,資料全失):
    cryptsetup luksFormat /dev/sdb1

    提示輸入 大寫 YES 確認 → 設定強密碼 (建議 ≥ 20 字元、含大小寫/數字/符號)。

  2. 開啟/解密映射裝置 (建立 /dev/mapper/xxx):
    cryptsetup luksOpen /dev/sdb1 svn_data

    輸入密碼 → 成功建立 /dev/mapper/svn_data 區塊裝置,此為後續格式化/掛載的真實操作對象。

  3. 格式化檔案系統 (首次):
    mkfs.ext4 /dev/mapper/svn_data
  4. 掛載使用:
    mount /dev/mapper/svn_data /mnt/svn_data
  5. 使用完畢 → 協同卸載與關閉:
    umount /mnt/svn_data
    cryptsetup luksClose svn_data

關鍵最佳實踐

  • 不建議開機自動掛載 (除非極其信任物理環境) :需在 /etc/crypttab 註冊並配置 /etc/fstab,開機需手動輸入密碼或掛載金鑰檔 (Keyfile) — 金鑰檔洩露即等同無加密。
  • 每次使用前必須 luksOpen,用畢必須 luksClose,確保資料落盤、快取同步、鑰匙從記憶體清除。
  • 備份 LUKS Header (關鍵!) :
    cryptsetup luksHeaderBackup /dev/sdb1 --header-backup-file /secure/offsite/sdb1_luks_header.bin
    Header 損壞 = 資料永久不可恢復。異地備份 Header + 密碼 = 終極救援。
  • 新增/撤銷金鑰槽 (多管理員/輪換密碼):
    cryptsetup luksAddKey /dev/sdb1      # 新增密碼/金鑰檔
    cryptsetup luksRemoveKey /dev/sdb1   # 移除指定槽位密碼
    cryptsetup luksDump /dev/sdb1        # 檢視所有槽位狀態
  • SSD 特別優化:啟用 TRIM/Discard:
    cryptsetup --allow-discards luksOpen ... 或 /etc/crypttab 加入 discard 選項 (需核心 3.1+、檔案系統支援)。

圖形化替代工具

  • GNOME Disks (磁碟工具) — 點擊齒輪 → 「格式化分區」→ 勾選「密碼保護 (LUKS)」。
  • VeraCrypt — 跨平台 (Win/Linux/macOS)、支援隱藏卷、合理否認性、系統盤加密。
copyright © 萬盛學電腦網 all rights reserved