我有SSD和HDD。
在安装Ubuntu时,我希望“擦除磁盘并安装Ubuntu”,并“为安全起见加密新的Ubuntu安装”。
这使得我的/home在SSD下,但我想让它在硬盘下,但也加密。我怎么做这个?
sda 8:0 0 223,6G 0 disk
├─sda1 8:1 0 512M 0 part /boot/efi
├─sda2 8:2 0 732M 0 part /boot
└─sda3 8:3 0 222,4G 0 part
└─sda3_crypt 253:0 0 222,4G 0 crypt
├─ubuntu--vg-root 253:1 0 206,4G 0 lvm /
└─ubuntu--vg-swap_1 253:2 0 15,9G 0 lvm [SWAP]
sdb 8:16 0 931,5G 0 disk
└─sdb1 8:17 0 931,5G 0 part
└─home_drive 253:3 0 931,5G 0 crypt /mnt发布于 2017-11-09 22:22:21
啊,定制分区。这是一个有趣的问题,特别是当你试图加密跨卷。我将假设您不想使用过度疯狂 (是的,这是我的分区结构),并在这里使用LVM。我还将假设您已经安装了一些东西,因为它使这个过程稍微简单一些。
您必须首先在硬盘上创建一个新的EXT4分区。让它占用你想要的空间。
接下来,您需要运行cryptsetup来实际设置加密。您想要的命令是:
cryptsetup luksFormat /dev/sdXY将/dev/sdXY替换为指向新的EXT4分区的任何内容。将提示您选择密码。选一个强壮的,然后把它写下来。当你完成的时候,你将不必记住它(当我们深入到这篇文章的时候,你就会明白为什么)。
接下来,我们需要在LUKS容器中创建另一个ext4分区,这个分区最终将继续保存/home。这些命令将实现以下目标:
cryptsetup open --type luks /dev/sdXY home_drive
mkfs -t ext4 /dev/mapper/home_drive
cryptsetup close home_drive接下来,运行blkid并记下新LUKS容器的UUID (在/dev/sdXY)。你一会儿就需要它了。
现在,我们需要设置一个名为decrypt_derived的东西,它允许您“连锁”解密操作。
通过这样做,我们将允许一个密码跨两个驱动器工作。实际上,您解密的第一个驱动器将是您的第二个驱动器的密码。您的密码(以上所选)仍将在紧急情况下工作(想想数据恢复或类似的情况)。
运行以下命令/文件编辑。请确保将ubuntu_crypt重命名为当前密码所调用的任何内容(请参阅/etc/crypttab以找到此信息)。还可以用新的LUKS分区替换/dev/sdXY。
/lib/cryptsetup/scripts/decrypt_derived ubuntu_crypt > /tmp/home_keyfile
cryptsetup luksAddKey /dev/sdXY /tmp/home_keyfile
shred -u /tmp/home_keyfile接下来,您需要向/etc/crypttab添加以下行:
home_drive UUID=<your_drive_uuid> ubuntu_crypt luks,keyscript=/lib/cryptsetup/scripts/decrypt_derived如果您在家用驱动器上使用SSD,请确保将luks,keyscript=...替换为luks,discard,keyscript=...。
/etc/fstab现在,您的系统已经设置,可以自动挂载驱动器,我们需要让/etc/fstab知道这一点。
幸运的是,这只是需要在/条目的/etc/fstab下面添加的一行。这一行将类似于:
/dev/mapper/home_drive /mnt ext4 errors=remount-ro 0 1接下来,您将需要安装您的新(准备好了!)家庭隔断。您的命令将类似于:
cryptsetup open --type luks /dev/sdXY home_drive
mount /dev/mapper/home_drive /mnt将当前的主文件夹复制到新驱动器,并确保一切看起来都很好。
最后,您只需运行以下命令,就可以让您的系统知道您的密码:
update-initramfs -u -k all重新启动系统,并确保您只需输入一次密码。如果你需要做不止一次,事情就出了问题。再检查一遍你的步子。
一旦你回到网上,确认/mnt中有你所有的家庭数据。
的移动
现在,您需要重新打开/etc/fstab,并编辑新行,将/mnt替换为/home。它应该是这样的:
/dev/mapper/home_drive /home ext4 errors=remount-ro 0 1保存文件。
再运行一次update-initramfs -u -k all,然后重新启动系统。
一旦你回来了,运行lsblk,并确保你的家园被安装到新的驱动器。
一旦你高兴了,你就需要摆脱你以前的家庭数据。问题是挂载将替换当前文件夹本身,因此无法访问该数据(运行时不能删除你的homedir )。因此,您需要执行绑定安装:
mount --bind / /mnt运行touch /mnt/home/test,然后立即运行cat /home/test并确保它抱怨找不到文件。如果找到了该文件,那么挂载配置就有问题。
一旦您确信/home/test不存在,但/mnt/home/test确实存在,您就可以继续使用rm -rf /mnt/home/*删除您的旧家。
您的系统现在将在您的SSD和您的家庭将在它自己的加密驱动器!
https://askubuntu.com/questions/974851
复制相似问题