请遵循以下步骤来创建一个内部带有文件系统的加密文件:
1.创建给定大小的文件的更快方法是:
fallocate -l 128M /path/to/file
2.使用dm-crypt工具在文件中创建LUKS(Linux统一密钥设置)分区:
cryptsetup -y luksFormat /path/to/file
您可以检查文件是否为加密容器:
/path/to/file: LUKS encrypted file, ver 1 [aes, xts-plain64, sha1] UUID: 7e2af5a1-3fab-43ea-a073-3b9cc6073f00
3.打开加密的容器:
cryptsetup luksOpen /path/to/file data
data
是设备映射器卷名称。您可以选择其他名称。
这将打开LUKS设备,并将其映射到我们提供的名称,在本例中,该文件在创建/dev/mapper/data
。
4.ext4
在此设备上创建文件系统:
mkfs.ext4 /dev/mapper/data
5.然后创建挂载点:
mkdir /path/to/mount
6.并在此处安装设备:
mount /dev/mapper/data /path/to/mount
7.要卸载文件系统并关闭LUKS设备:
umount /path/to/mount
cryptsetup luksClose data
现在,您已经加密了带有ext4文件系统的LUKS容器。当您要使用它时,只需重复第3步和第6步。完成后,请调用第7步。
这篇文章对我很有帮助。
同样,您的容器有一天会用完空间。假设加密容器文件的大小为128 MB,我们希望将其大小增加到512 MB。要增加其容量,请执行以下步骤:
1.卸下并关闭LUKS设备(请参阅上面列表中的步骤7)。
2.增加容器文件大小:
dd if=/dev/zero of=/path/to/file bs=384M count=1 oflag=append conv=notrunc
3.打开LUKS设备。
cryptsetup luksOpen /path/to/file data
4.调整LUKS设备的大小以匹配容器文件的大小。从手册页:
如果未指定--size(以扇区为单位),则使用基础块设备的大小。
因此,您可以:
cryptsetup resize data
5.然后调整ext4文件系统的大小:
e2fsck -f /dev/mapper/data
resize2fs /dev/mapper/data
6.现在您可以挂载文件系统了:
mount /dev/mapper/data /path/to/mount