cryptsetup

cryptsetup 磁盘加密(LUKS)

补充说明

cryptsetup 管理 LUKS/dm-crypt 加密卷,支持格式化、打开、关闭、备份头、调整大小和更换密钥。加密层位于文件系统之下、块设备之上,适合保护数据盘和移动介质。

LUKS2 是当前默认格式,支持 Argon2 密钥派生和更灵活的头部。生产环境必须备份 LUKS header,头部损坏后数据几乎无法恢复。

常用示例

加密整块磁盘:

cryptsetup luksFormat /dev/sdb
cryptsetup luksOpen /dev/sdb cryptdata
mkfs.ext4 /dev/mapper/cryptdata
mkdir -p /data
mount /dev/mapper/cryptdata /data

查看状态:

cryptsetup status cryptdata
cryptsetup luksDump /dev/sdb

关闭:

umount /data
cryptsetup luksClose cryptdata

备份和恢复头部:

cryptsetup luksHeaderBackup /dev/sdb --header-backup-file luks-header.img
cryptsetup luksHeaderRestore /dev/sdb --header-backup-file luks-header.img

添加/删除密钥:

cryptsetup luksAddKey /dev/sdb
cryptsetup luksRemoveKey /dev/sdb

扩容:

cryptsetup resize cryptdata
resize2fs /dev/mapper/cryptdata

开机自动解锁(crypttab):

echo 'cryptdata UUID=<luks-uuid> none luks' >> /etc/crypttab

易错点与排错