我该如何只加密根分区?


13

我有3个分区:EFI(/boot/efi),boot(/boot)和root(/)。我要加密 /。我可以通过安装程序手动执行此操作,但是我想先安装它。

如何定义?我的(未加密)食谱如下所示。我发现有关EFI系统分区的建议有些杂乱(找不到明确的指南)。

boot-root ::
  100 100 100 fat32
    $primary
    $iflabel{ gpt }
    $reusemethod( }
    use_filesystem{ } filesystem{ vfat }
    method{ efi } format{ }
    mountpoint{ /boot/efi }
  .
  300 300 300 ext4
    use_filesystem{ } filesystem{ ext4 }
    method{ format } format{ }
    mountpoint{ /boot }
  .
  100% 3000 100% ext4
    use_filesystem{ } filesystem{ ext4 }
    method{ format } format{ }
    mountpoint{ / }
  .

我如何sda3成为LUKS加密的物理分区,然后在其上具有文件系统?

更新:

我发现可以将分区设置为加密货币,如下所示,但是仍然存在3个问题:

  1. 我仍然需要在所选分区上创建并激活加密卷
  2. 创建并激活后,我仍然需要在加密卷上设置正确的ext4文件系统
  3. 配方未选择dm-crypt创建和激活加密卷所需的加密类型。

仍在努力奋斗

boot-root ::
  100 100 100 fat32
    $primary
    $iflabel{ gpt }
    $reusemethod( }
    use_filesystem{ } filesystem{ vfat }
    method{ efi } format{ }
    mountpoint{ /boot/efi }
  .
  300 300 300 ext4
    use_filesystem{ } filesystem{ ext4 }
    method{ format } format{ }
    mountpoint{ /boot }
  .
  100% 3000 100% ext4
    method{ crypto } format{ }
  .

仅供参考,标签一样sdasdbsdc,等不始终保持靴之间的相同的字母(A,B,C)(矿切换每次启动)
Xen2050

2
@ Xen2050对吧,UUID或者,PARTUUID或者LABEL或者PARTLABEL更好。就我而言,我正在启动要格式化的映像,因此其中只有一个驱动器。无论哪种方式,如何将其设置为对单个分区进行加密?我可以以交互方式进行,但是我需要预先播种。
deitch

嗯,可能会到达某个地方,但还有更多问题。将发布其他q。
迪奇

@deitch-这是服务器分区配置还是客户端,还是仅是桌面分区示例?这3个分区对于您的意图而言太少了-缺少/ swap和/ home-因此您必须以某种方式设置具有逻辑分区的硬盘的扩展部分-通常,分区总体上仅允许4个分区,但通过逻辑分区允许扩展最多4个63分区(GPT允许更多)?- unix.stackexchange.com/questions/33555/... -关于主机和从机分区。
dschinn1001,2013年

@ dschinn1001实际上是安全服务器的模板。核心操作系统位于可移动驱动器上。用户数据和交换位于内部驱动器上,系统服务会适当地找到并安装该驱动器。但是,忽略它...。如何在没有LVM的情况下设置要加密的根?
deitch

Answers:


1

首先,打开一个根终端:

sudo -i

然后使用类似以下命令的随机数据填充应该加密的分区:

openssl enc -aes-256-ctr -pass pass:"$(dd if=/dev/urandom bs=128 count=1 2>/dev/null | base64)" -nosalt < /dev/zero > /dev/sdxy

你必须更换 sdxy为将加密的分区。然后输入

cryptsetup luksFormat --cipher twofish-xts-plain64 --key-size 512 --hash sha512 --iter-time 2000 /dev/sdxy

加密分区sdxy。打开卷并命名root

cryptsetup luksOpen /dev/sdxy root

使用以下命令在其中创建一个ext4文件系统:

mkfs.ext4 /dev/mapper/root

接下来,您可以启动安装程序。当被问到您想做什么时,请选择“其他”。然后为所有未加密的分区选择安装点。对于您的root分区,选择/dev/mapper/root,单击“更改”。然后选择ext4文件系统类型,并将安装点设置为/。然后单击“立即安装”并正常安装Ubuntu。

安装完成后,单击“继续测试”。打开一个终端并输入:

sudo -i
cd /mnt
mkdir root
mount /dev/mapper/root root
mount /dev/sdyz root/boot

sdyz应该用您的boot分区替换。接下来,键入:

chroot root
mount -t proc proc /proc
mount -t sysfs sys /sys
nano /etc/crypttab

打开第二个终端,然后键入sudo blkid。找到的UUID root(最后说出crypto_luks的那个)并将其粘贴到中/etc/crypttab。然后文件/etc/crypttab应如下所示:

root UUID=d68911dd-172a-4608-86d4-084eb72f409c none luks

Ctrl+ 关闭文件xy然后Enter。输入nano /etc/fstab终端,并检查是否一切看起来正确(如的UUID)。

最后,退出chroot环境并输入:

cryptsetup luksHeaderBackup /dev/sdxy --header-backup-file /root/root.img

这会将加密分区的标头的图像放入文件夹中 /root并命名root.img。然后将图像移至外部驱动器(以防忘记密码)。现在,您可以重启进入新安装的Ubuntu。

资料来源:http : //thesimplecomputer.info/full-disk-encryption-with-ubuntu


欢迎来到Ask Ubuntu!虽然从理论上讲这可以回答问题,但最好在此处包括答案的基本部分,并提供链接以供参考。
Karl Richter)

@Earl您建议事先在chroot(或容器化)环境中构建分区,然后将其粘贴到安装程序中?
deitch

我将如何与主持人一起工作?
deitch

我不知道,但这至少是在root不使用LVM的情况下制作LUKS加密分区的一种解决方案。
伯爵尼克
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.