使用LUKS对Linux磁盘进行加密

ops/2024/11/25 11:20:38/

前言

本实验用于日常学习用,如需对存有重要数据的磁盘进行操作,请做好数据备份工作。 此实验只是使用LUKS工具的冰山一角,后续还会有更多功能等待探索。

LUKSLinux Unified Key Setup)是Linux系统中用于磁盘加密的一种机制,它为磁盘分区提供了强大的加密保护。
加密卷LUKS通过创建一个加密的“加密卷”,这个卷在磁盘上表现为一个分区或整个磁盘
密钥槽:每个LUKS加密卷可以包含多个密钥槽,每个槽可以存储一个不同的密钥,用于解密加密卷。
主密钥LUKS使用一个主密钥来加密和解密这些密钥槽中的密钥。
LUKSLinux系统提供了一种强大且灵活的磁盘加密解决方案,通过创建加密卷和使用密钥槽来保护数据安全。它在全磁盘加密、分区加密和容器加密等多种场景下都有广泛应用。

LUKS工具,不是LUSK工具。

基本步骤

本次实验的操作系统为Redhat8

LUKS_13">1、查看是否安装了LUKS软件包

rpm -qf /sbin/cryptsetup

在这里插入图片描述

2、 查看当前磁盘及分区

fdisk -l

在这里插入图片描述

3、添加新磁盘

关闭虚拟机,再VMware工作台给虚拟机添加一个新硬盘
对硬盘的相关操作,可以参考这篇文章:
Linux——【磁盘管理和LVM卷组管理】

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4、对新硬盘进行加密

对/dev/nvme0n2 进行加密

cryptsetup luksFormat /dev/nvme0n2

在这里插入图片描述

5、对解锁的硬盘映射

cryptsetup luksOpen /dev/nvme0n2 dly

在这里插入图片描述

6、查看映射情况

ll /dev/mapper/dly

在这里插入图片描述

• lrwxrwxrwx. 1 root root 7 Nov 24 02:07 /dev/mapper/dly -> …/dm-2
l 表示这是一个符号链接。
rwxrwxrwx 表示所有用户都有读、写和执行权限。
1 表示链接数(硬链接数量)。
root root 表示所有者是 root 用户和 root 组。
7 表示符号链接本身占用的字节数。
Nov 24 02:07 表示最后修改时间。
/dev/mapper/dly -> …/dm-2 表示这个符号链接指向的目标路径是 …/dm-2,即 /dev/dm-2。
设备映射器(Device Mapper):
• /dev/mapper/ 目录下的文件通常与 Linux 的设备映射器框架相关,它允许将物理块设备映射到逻辑卷管理器(如 LVM)或加密设备等。
• dm-2 是一个由设备映射器创建的逻辑设备名。

7、将磁盘格式话未ext4模式

mkfs.ext4 /dev/mapper/dly

在这里插入图片描述

8、创建磁盘挂载点,并挂载磁盘,查看文件系统的使用情况

//创建挂载目录
mkdir /mnt/luks
//进行磁盘挂载
mount /dev/mapper/dly /mnt/luks/
//查看各文件系统情况
df -h

在这里插入图片描述
在这里插入图片描述

9、配置文件,设置硬盘加密自启

该文件用于开机自动挂载

/etc/fstab 文件用于定义系统启动时自动挂载的文件系统,通过正确配置该文件,可以实现文件系统的自动化管理和挂载。

文件中的字段

<file system>   <mount point>   <type>   <options>   <dump>   <pass><file system>:设备名或UUID,可以是实际的设备路径(如 /dev/sda1)或UUID(如 UUID=xxxxx)。
<mount point>:挂载点,即文件系统将被挂载到的位置(如 /, /home, /mnt/data)。
<type>:文件系统类型(如 ext4, xfs, vfat, ntfs 等)。
<options>:挂载选项,可以包含多个选项,用逗号分隔(如 defaults, noatime, noexec 等)。
<dump>:备份工具使用的字段,通常设置为 0,表示不进行备份。
<pass>:fsck工具使用的字段,用于确定文件系统检查的顺序。根文件系统通常设置为 1,其他文件系统可以设置为 2 或其他值。

进入配置文件

vi /etc/fstab

在这里插入图片描述

10、在/etc/crypttab生成虚拟设备文件

该文件可以实现加密卷的自动化管理和挂载

/etc/crypttab 文件在 Linux 系统中用于配置加密卷的自动解密当系统启动时,根据这个文件中的配置,可以自动解密指定的加密卷,并将其挂载到指定的位置。这对于需要自动加载加密卷的场景非常有用,例如在系统启动时自动挂载加密的根文件系统或数据分区。

vi /etc/crypttab

在这里插入图片描述

11、重启设备,验证是否加密成功

在这里插入图片描述

12、关闭加密

先卸载挂载点,再锁定分区

//卸载挂载点(一定不要打错挂载点!!!)
umount /mnt/luks 
//关闭对磁盘的加密
cryptsetup luksClose dly
//查看是否完成加密关闭
ll /dev/mapper/dly

在这里插入图片描述
此时再重启,应该不会出现输入磁盘加密密码的情况,但是我重启后不仅需要输入加密密码,还进入了紧急模式。。。
在这里插入图片描述

细心的朋友可能会发现我在最后一步,==卸载挂载点的时候打错了卸载点,导致我再次进入Redhat时,被强制进入了紧急模式。==主要原因就是磁盘找不到挂载点,导致磁盘分区错误。以下是本次解决方法。
错误原因:
在这里插入图片描述

问题解决

1、强制模式下,进入/etc/fstab 这个配置文件,将之前写入的磁盘加密自启信息注释或删掉(在此之前我在“编辑虚拟机”中,将之前加密的磁盘移除了,不过就算你没有移除磁盘,也是可以进行接下来的操作)

vi /etc/fstab

在这里插入图片描述

2、保存退出后重新加载文件使其生效

systemctl daemon-reload

然后重启

reboot

此时开机发现系统依然让我们输入磁盘加密信息,正常输入即可,输入完成后按回车键发现能够正常进入系统啦!(之前是输入密码后会进入紧急模式)
在这里插入图片描述
至此,紧急模式的问题我们已经解决。

由于我的粗心,导致在卸载错误挂载点,因此我需要重新卸载
在这里插入图片描述

进入/etc/crypttab 文件中,将之前写入的信息注释或删除

vi /etc/crypttab

在这里插入图片描述

重启后发现可以直接输入账户密码进入Redhat,不需要再输入磁盘加密密码啦!

在这里插入图片描述

然后查看当前的硬盘及分区状况,发现之前对加密的分区还在。
在这里插入图片描述
问题解决!

总结

以上就是使用LUKSLinux磁盘加密的过程,最后出现一点小插曲,挂载点和映射文件一定不要打错!在面对突发问题时,冷静时最好的办法,不妨回过头来理一遍思路,弄清楚每个文件的作用,可能会有意外的收获!
问题解决参考链接:【RedHat】重启服务器进入了emergency mode紧急状态——UUID不匹配


http://www.ppmy.cn/ops/136551.html

相关文章

网页F12:缓存的使用(设值、取值、删除)

一、设置值 例如&#xff1a;设置一个key为name&#xff0c;value为Jack的值 1、在控制台输入代码 localStorage.setItem(name,Jack) 2、查看缓存值 二、取值 1、在控制台输入代码 取出key为name的值 localStorage.getItem(name) 三、删除 删除指定key的值 1、在控制台输…

UE材质不透明蒙版选项

①什么是不透明蒙版 在 Unreal Engine 5 (UE5) 中&#xff0c;不透明蒙版插槽 (Opacity Mask) 是材质中的一个重要参数&#xff0c;用于控制材质的透明度和不透明区域。具体来说&#xff0c;它允许你在材质中实现 部分透明 或 不透明 的效果&#xff0c;通常用于实现如 不规则…

moduo之单例模板Singleton

简介 moduo提供了单例模板类&#xff0c;是线程安全的 结构 单例是动态分配的&#xff0c;不是使用静态变量。其线程安全是通过pthread_once_t #mermaid-svg-N0Vthvvibe8sdg0v {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}…

设计模式——组合实体模式

定义与概念 组合实体模式&#xff08;Composite Entity Pattern&#xff09;是一种设计模式&#xff0c;主要用于将多个相关的实体组合成一个单一的实体&#xff0c;以实现对这些实体的统一管理和操作。这种模式在处理复杂的对象关系时非常有用&#xff0c;它将相关的数据和操…

解决k8s拉取私有镜像401 Unauthorized 问题

拉取镜像时未指定账户和密码通常是因为需要访问的镜像仓库启用了认证&#xff0c;但 Kubernetes 默认配置中未提供访问凭据。要解决此问题&#xff0c;可以按照以下步骤配置镜像仓库的认证信息&#xff1a; 1. 创建 Kubernetes Secret 为镜像仓库配置访问凭据&#xff0c;使用…

量子感知机

神经网络类似于人类大脑&#xff0c;是模拟生物神经网络进行信息处理的一种数学模型。它能解决分类、回归等问题&#xff0c;是机器学习的重要组成部分。量子神经网络是将量子理论与神经网络相结合而产生的一种新型计算模式。1995年美国路易斯安那州立大学KAK教授首次提出了量子…

2024年北京海淀区中小学信息学竞赛(初赛)试题

来源&#xff1a;2024年北京海淀区中小学信息学竞赛&#xff08;初赛&#xff09;试题 | 6547网 2024年北京海淀区中小学信息学竞赛&#xff08;初赛&#xff09;试题 题目总数&#xff1a;24 总分数&#xff1a;100 单项选择题(共有 15 道小题&#xff0c;每道小题3分&am…

【Qt】控件LineEdit

1.QcalendarWidget 获取点击的时间&#xff0c;显示在lineedit上 2.QLineEdit 1.QLineEdit设置内部提示 ui->name->setPlaceholderText("请输入名字");//设置内部提示2.设置快捷删除 ui->name->setClearButtonEnabled(true);//设置一键清除3.设置…