Cryptsetup 是 Linux 系统中用于设置和管理 dm-crypt 加密的一个工具。dm-crypt 是 Linux 内核中的一个模块,提供了基于设备映射的透明磁盘加密功能。通过使用 Cryptsetup 工具,可以轻松地对整个磁盘、分区或者文件进行加密处理。
dm-crypt 是 Linux 内核中的一个子系统,它允许用户在块设备上实现透明的加密/解密操作。dm-crypt 使用 Device Mapper 框架来创建虚拟块设备,并将所有写入的数据加密,读取时解密。
Cryptsetup 是一个命令行工具,用来配置和管理 dm-crypt 设备。它可以与 LUKS (Linux Unified Key Setup) 配合使用,LUKS 是一种磁盘加密规范,为 dm-crypt 提供了一个标准化的格式和接口。
大多数现代 Linux 发行版已经预装了 Cryptsetup。如果没有安装,可以通过包管理器进行安装:
# 对于Debian/Ubuntu
sudo apt-get install cryptsetup
# 对于CentOS/Fedora
sudo yum install cryptsetup
以下是创建加密分区的基本步骤:
假设我们有一个未使用的分区 /dev/sdb1
。
sudo fdisk -l /dev/sdb1
sudo cryptsetup luksFormat /dev/sdb1
执行上述命令后,系统会要求输入密码并确认。请确保密码足够复杂以保证安全性。
sudo cryptsetup luksOpen /dev/sdb1 my_encrypted_partition
这里 my_encrypted_partition
是你为该加密设备指定的映射名称。执行此命令后,系统会提示输入密码,成功后会在 /dev/mapper/
下生成对应的映射设备。
sudo mkfs.ext4 /dev/mapper/my_encrypted_partition
sudo mkdir /mnt/encrypted
sudo mount /dev/mapper/my_encrypted_partition /mnt/encrypted
当不需要使用加密分区时,可以关闭它:
sudo umount /mnt/encrypted
sudo cryptsetup luksClose my_encrypted_partition
你可以为同一个加密设备添加多个密钥,以便不同用户可以访问相同的加密数据。
sudo cryptsetup luksAddKey /dev/sdb1
这将提示输入现有密码,然后让你输入新密码。
如果不再需要某个密钥,可以将其删除:
sudo cryptsetup luksRemoveKey /dev/sdb1
这将提示输入要删除的密码。
如果你想查看某个LUKS设备的信息,可以使用以下命令:
sudo cryptsetup luksDump /dev/sdb1