如何识别 LVM-over-LUKS 或 LUKS-over-LVM

如何识别 LVM-over-LUKS 或 LUKS-over-LVM

我最近安装了 Fedora 20。我不记得在安装过程中我选择了哪些具体选项来加密磁盘/LVM。它安装良好,我可以登录等。这是我的情况:

我用 LiveCD 启动并尝试了以下操作:(我已将 Fedora20 安装到 /dev/sda3' 分区)。

  1. 如果我运行,cryptsetup open /dev/sda3 fedo我会收到一条错误消息,指出它不是 LUKS 设备。
  2. II 运行时cryptsetup luksDump /dev/sda3收到错误消息,指出它不是 LUKS 设备
  3. 如果我运行cryptsetup open --type plain /dev/sda3 fedo,它会提示输入密码并正常打开设备。

所以,显然,这是一个纯文本加密(没有 LUKS 标头)分区。

现在,当我尝试跑步时mount /dev/mapper/fedo /mnt/fedora,它说unknown crypto_LUKS filesystem

我确实在其上安装了 LVM,因此,我可以运行pvdisplay, vgdisplaylvdisplay它会显示信息。我有一个名为 VGfedora和两个 LV,即 00 用于交换分区,01 用于 / 分区。

现在,如果我执行 a,cryptsetup luksDump /dev/fedora/01我可以看到 LUKS 标头等。而且,我可以通过运行来安装mount /dev/fedora/00 /mnt/fedora,没有密码提示。

那么,我是否有 LUKS-over-LVM-over-(纯文本)加密分区?

这是我的输出lsblk

# lsblk
名称 主要:最小 RM 尺寸 RO 类型 安装点
sda 8:0 0 37.3G 0盘
|-sda3 8:3 0 17.4G 0 部分
  |-fedora-00 253:0 0 2.5G 0 lvm
  | |-luks-XXXXX 253:3 0 2.5G 0 地穴 [交换]
  |-fedora-01 253:1 0 15G 0 lvm
    |-luks-XXXXX 253:2 0 15G 0 地穴/

所以,问题是,如何判断我是否有LVM 优于 LUKS或者LVM 上的 LUKS,或它们的一些其他组合(LUKS 优于 LVM 优于 LUKSETC)?为了明确我的问题,我知道我有 LVM 和 LUKS,我想弄清楚它们的顺序。

答案1

cryptsetup luksDump /dev/fedora/01显示LVM逻辑卷是LUKS加密卷。pvs或的输出pvdisplay将显示该分区/dev/sda3是一个物理卷。因此,你对 LVM 更满意。在较低级别,您有 LVM over PC 分区。

的输出lsblk证实了这一点:sda是一个磁盘,sda3是一个分区(其中包含一个 LVM 物理卷),fedora-00fedora-01逻辑卷,每个逻辑卷都包含一个 LUKS 加密卷。

答案2

在一个普通的地下室里有一个 LUKS 是很奇怪的。为什么要加密两次?

一旦你的文件系统被挂载,lsblk会告诉你什么是什么。

NAME                         MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda                            8:0    0  59.6G  0 disk  
└─sda1                         8:1    0  59.6G  0 part  
  └─md0                        9:0    0  59.6G  0 raid1 
    └─luksSSD1               253:9    0  59.6G  0 crypt 
      ├─SSD-home             253:0    0    36G  0 lvm   /home
      └─SSD-root             253:10   0    16G  0 lvm   /

这是磁盘 sda 上常规分区 (sda1) 上 RAID1(md0,类型 raid1)上 LUKS(类型 crypt、luksSSD1)上的 LVM(/home 和 / 类型为 lvm)。

答案3

你可以这样看看你有什么:

$ sudo blkid | grep crypto_LUKS
/dev/mapper/fedora-home: UUID="XXXXXXXXXXXXXXXXX" TYPE="crypto_LUKS" 

这是一个带有加密 LUKS 的 LVM 逻辑卷。当我安装该卷时,它在 Fedora 20 下的安装方式如下:

$ mount | grep home
/dev/mapper/luks-XXXXX on /home type ext4 (rw,relatime,seclabel,data=ordered)

如果您进行了标准安装,您将得到相同的结果。

手动解密

我相信如果您想手动执行操作,您可以执行以下操作。首先看看某件事是否幸运:

$ sudo cryptsetup isLuks /dev/mapper/fedora-home
$ echo $?
0

$ sudo cryptsetup isLuks /dev/mapper/fedora-root 
$ echo $?
1

笔记:0 表示它是 LUKS,1 表示它不是。

那么接下来要解密它:

$ sudo cryptsetup luksOpen /dev/mapper/fedora-home crypthome

笔记:您必须输入密码才能解密分区。请随意将映射名称更改crypthome为您想要的任何名称。映射的分区现在可用,/dev/mapper/crypthome但尚未安装。最后一步是创建挂载点并挂载映射分区:

手动安装

$ sudo -Es
$ mkdir /mnt/crypthome && mount /dev/mapper/crypthome /mnt/crypthome

我有哪些加密分区?

您可以检查该文件/etc/crypttab以查看您还设置了哪些 LUKS。

$ more /etc/crypttab  
luks-XXXXXXXX UUID=XXXXXXXX none 

转储设备

您也可以luksDump像这样使用:

$ sudo cryptsetup luksDump /dev/mapper/fedora-home
LUKS header information for /dev/mapper/fedora-home

Version:        1
Cipher name:    aes
Cipher mode:    xts-plain64
Hash spec:      sha1
Payload offset: 4096
MK bits:        512
MK digest:      XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX 
MK salt:        XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX 
                XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX 
MK iterations:  50625
UUID:           XXXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX

Key Slot 0: ENABLED
    Iterations:             202852
    Salt:                   XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX 
                            XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX 
    Key material offset:    8
    AF stripes:             4000
Key Slot 1: DISABLED
Key Slot 2: DISABLED
Key Slot 3: DISABLED
Key Slot 4: DISABLED
Key Slot 5: DISABLED
Key Slot 6: DISABLED
Key Slot 7: DISABLED

如果它不是 LUKS 设备,则会像这样报告:

$ sudo cryptsetup luksDump /dev/mapper/fedora-root 
Device /dev/mapper/fedora-root is not a valid LUKS device.

参考

答案4

我认为判断它是LVM-over-LUKS还是相反的关键是顺序地穴左室厚度命令输出中的类型lsblk。基于这个推理,我得出的结论是我的设置是LVM 上的 LUKS。对于lsblkLVM-over-LUKS 类型设置的输出,请查看下面 @frostschultz 显示的输出。

就我而言,由于 /dev/sda3 是一个“Linux LVM”系统分区(分区 ID 8e),我认为cryptsetup open --type plain /dev/sda3 SomeName我应该通过运行命令cryptsetup open /dev/disk/by-uuid/UUID-of-LV SomeName命令直接打开 LV 来直接映射 LVM,而不是首先尝试。我尝试了这个,它按我的预期工作。

感谢所有帮助我理解这一点的人。

相关内容