Linux分區加密常用 LUKS(Linux Unified Key Setup) 標準,通過 cryptsetup
工具實現,步驟如下:
確保系統安裝 cryptsetup
(多數發行版默認安裝):
# Debian/Ubuntu
sudo apt update && sudo apt install cryptsetup
# CentOS/RHEL
sudo yum install cryptsetup
用 fdisk
或 parted
創建新分區(如 /dev/sdb1
),注意:加密會清除分區數據:
sudo fdisk /dev/sdb
# 操作:n(新建分區)→ p(主分區)→ w(保存)
sudo partx -a /dev/sdb # 重新加載分區表
使用 cryptsetup luksFormat
加密分區(需輸入強密碼):
sudo cryptsetup -v -y --cipher aes-xts-plain64 --key-size 512 luksFormat /dev/sdb1
# 參數說明:
# - aes-xts-plain64:推薦加密算法(高強度)
# - --key-size 512:密鑰長度(可選256/512)
通過 luksOpen
映射為虛擬設備(如 /dev/mapper/secure_partition
):
sudo cryptsetup luksOpen /dev/sdb1 secure_partition
# 輸入密碼后,分區會映射到 /dev/mapper/secure_partition
格式化虛擬設備為文件系統(如 ext4),并掛載到指定目錄:
sudo mkfs.ext4 /dev/mapper/secure_partition
sudo mkdir /mnt/secure
sudo mount /dev/mapper/secure_partition /mnt/secure
編輯 /etc/crypttab
和 /etc/fstab
實現開機自動解密掛載:
secure_partition /dev/sdb1 /root/key
(/root/key
為密碼文件路徑)。UUID=$(blkid /dev/sdb1 | cut -d'"' -f2) /mnt/secure ext4 defaults,luks 0 0
。使用完畢后,卸載并關閉加密分區:
sudo umount /mnt/secure
sudo cryptsetup luksClose secure_partition
cryptsetup luksHeaderBackup
備份分區頭信息,防止硬件故障導致數據丟失。以上步驟參考自 。