Linux克隆磁盘,对磁盘进行加密
平常对敏感文件的备份,都是对文件复制进行备份,今天学习到了如何对磁盘
进行备份,在进行取证
或者是系统错误恢复
时,需要使用到磁盘的备份。
磁盘备份
和文件备份
的区别:
- 磁盘备份是将整个存储设备(通常是硬盘)的所有内容复制到另一个目标设备上的过程。这种方法可以一次性备份所有文件和系统设置,包括操作系统、应用程序和其他用户文件。当需要恢复数据时,可以完全还原整个系统到上一次备份的状态。但由于磁盘备份包括整个磁盘的内容,因此其备份和恢复所需的时间和空间都比较大。
- 文件备份是选择性备份的一种形式,在这种方式中,只对重要的文件或目录进行备份,以便在发生数据丢失或损坏的情况下快速地恢复指定文件或目录。文件备份通常会做一些增量备份或差异备份,这意味着只有最新修改的文件会被备份,从而减少备份所需的时间和空间。但是,文件备份无法包括整个系统的设置和配置,如操作系统和应用程序。如果需要还原整个系统,则需要使用磁盘备份。
有很多磁盘备份的工具,这里我学习的是Linux
中的dd
命令
使用dd
命令对磁盘设备进行备份
sudo dd if=/dev/sda of=/dev/sdb bs=4M
很简单的一个命令,将/dev/sda
设备的内容全都克隆到/dev/sdb
设备中
if
:指定复制源磁盘的位置of
:指定复制到指定磁盘的位置bs
:一次复制的区块
在进行dd
的复制时,命令行默认什么都不显示,可以使用以下命令现实dd
复制的详细过程
watch -n 2 'sudo kill -USR1 $(pgrep ^dd)'
使用cryptsetup
对磁盘进行加密
Linux中有很多磁盘加密的方式,这里我们使用luks
加密方式
这里本想使用Turecrypt
进行磁盘的加密,Turecrypt
的官方在2014
年就不再更新了,衍生出的有一个Veracrypt
,但是我的kali linux
安装官网Debian
和Ubuntu
的版本都打不开,这里就使用命令行工具cryptsetup
工具进行磁盘的加密
需要注意的是:在进行磁盘加密的时候,会将磁盘的数据格式化,需要先将磁盘中的文件备份(当然也有不备份的方法)
- 安装
cryptsetup
工具
cryptsetup
是一个实用程序,用于在 Linux 上管理加密的设备。如果您的系统上尚未安装该工具,您可以通过以下命令安装:
sudo apt-get install cryptsetup
- 创建加密分区
使用以下命令创建加密分区:
sudo cryptsetup luksFormat /dev/sdx
这里,/dev/sdx
是您想要加密的分区设备文件。在运行该命令时,您将被要求输入两次新密钥的密码。请务必记录好密码。否则,你将无法访问加密的设备。
- 打开并映射加密的分区
使用以下命令打开加密的分区:
sudo cryptsetup luksOpen /dev/sdx my_encrypted_device
这里,my_encrypted_device
是您想要命名的设备映射的名称。
该命令将提示您输入您之前设置的密钥密码。如果密码输入正确,该设备将被打开并映射到 /dev/mapper/my_encrypted_device
。
- 创建文件系统并挂载
现在您可以使用以下命令创建文件系统,并将其挂载到目录中:
sudo mkfs.ext4 /dev/mapper/my_encrypted_device
sudo mkdir /mnt/my_encrypted_device
sudo mount /dev/mapper/my_encrypted_device /mnt/my_encrypted_device
这里,/mnt/my_encrypted_device
是您想要挂载设备的目录。
- 卸载和关闭设备
完成操作后,您可以使用以下命令卸载和关闭设备:
sudo umount /mnt/my_encrypted_device
sudo cryptsetup luksClose my_encrypted_device
这样一个加密的磁盘就设置完成了,以后每次打开该磁盘都需要输入密码