查看您是否拥有 eCryptfs

查看您是否拥有 eCryptfs

我的主目录使用 Ecrypfts 加密(据我所知)。我使用在后台运行的 dropbox 服务将本地文件与云同步。从 2018 年 11 月开始,dropbox 将仅支持使用 LUKS 加密的 ext4 分区。

我想从 Ecrypfts 切换到 LUKS。这是 blkid 的输出。

 /dev/nvme0n1p6: UUID="b49f5039-2524-4e7a-ba28-96f935367c7e" TYPE="ext4" PARTUUID="9124511d-c89a-4944-b346-c1f30a98801d"
 /dev/nvme0n1p7: UUID="e26b7783-5a36-4855-8a30-56bb21e4d310" TYPE="swap" PARTUUID="25ab9b40-5886-4a0a-b631-fced0caa0869"
 /dev/mapper/cryptswap1: UUID="f442df5d-5420-48f5-966a-d3d264ab9bfa" TYPE="swap"

我还没有找到任何关于如何做到这一点的文章。有没有一种安全的方法可以在这两种加密类型之间切换?

编辑:

在/etc/crypttab中

cryptswap1 UUID=e26b7783-5a36-4855-8a30-56bb21e4d310 /dev/urandom swap,offset=1024,cipher=aes-xts-plain64

ls -l /dev/mapper

crw------- 1 root root 10, 236 Aug 26 11:18 control
lrwxrwxrwx 1 root root       7 Aug 26 11:18 cryptswap1 -> ../dm-0

答案1

查看您是否拥有 eCryptfs

Ctrl按+ Alt+打开终端T并输入:

df --type=ecryptfs

如果你看到如下输出:

Filesystem                     1K-blocks Used      Available  Use%   Mounted on
/home/.ecryptfs/$USER/.Private 415321024 214784192 179416628   55%   /home/$USER

然后您的主文件夹就被 eCryptfs 加密了。

背景

LUKS 加密和 eCryptfs 的工作方式不同。

首先,eCryptfs 加密/home/$USER文件夹,LUKS 在分区级别工作。

/home/$USER其次,当 $USER 登录时,加密文件夹将被解锁。每次启动计算机时,LUKS 分区加密都会要求输入密码。一旦/home分区解锁,您就可以像往常一样使用登录密码登录您的帐户。也就是说,您需要使用两个密码。如果您的计算机有其他用户,他们的“主”文件夹也将被加密。因此,如果计算机的所有用户需要在您不在的情况下打开计算机并使用它,他们必须知道 LUKS 密码。有一种方法可以将密码保存在文件中,让 LUKS 在启动时自动解锁分区,但这并不安全。

第三,您的计算机只有一个分区/(加上交换分区),大多数 Ubuntu 安装都是这样。没有简单的方法可以用 LUKS 加密这个 Ubuntu 单分区安装。如果您想保留单分区设置,您可能需要备份数据并重新安装 Ubuntu。安装时,选择全盘加密选项。

最后,备份!备份!备份!下面描述的步骤非常危险。您可能会丢失所有数据,或者您的 Ubuntu 安装将无法启动。

步骤 1:创建一个新分区/home

步骤 1.1:从实时 CD/USB 启动

使用无需安装的选项尝试 Ubuntu。

步骤 1.2:识别磁盘

打开 Gparted。我更喜欢 Gparted,因为它是可视化的,让我“看到”驱动器和分区。单击右上方的下拉菜单,查看驱动器列表。浏览列表并根据大小和分区结构确定要使用的驱动器。您需要确定/要缩小的内部硬盘驱动器中的分区。

在此处输入图片描述

步骤 1.3:收缩

确保您已选择内部磁盘。

选择/要缩小的分区。

将分区的右边缘向左拖动到调整大小/移动为新/home分区腾出空间。根据新分区的需要腾出尽可能多的空间/home

按下 Gparted 中的“应用”按钮并等待。

如果一切顺利,请转到下一步。如果出现错误,请停止!

在此处输入图片描述

步骤1.4 创建新分区

右键单击您创建的未分配空间并选择新建。您将看到“创建新分区”窗口。确保文件系统显示“ext4”,其余部分可以保持原样。

在此处输入图片描述

按下 Gparted 中的“应用”按钮并等待。

如果一切顺利,请转到下一步。如果出现错误,请停止!

步骤1.5 将计算机重新启动到内部硬盘

第 2 步:加密新分区

步骤2.1 查找有关新分区的识别信息

Ctrl按+ Alt+打开终端T并输入:

sudo blkid

系统将提示您输入密码。输入密码后,终端上不会显示任何内容。这是正常的。

将输出复制并粘贴到文本文件中。记下 UUID 以及分区名称,如/dev/nvme0pX,其中 X 是新分区的编号。

步骤2.2 LUKS加密!

sudo cryptsetup -h sha256 -c aes-xts-plain64 -s 512 luksFormat /dev/nvme0pX

系统将提示您输入密码。每次启动计算机时都需要输入此密码来解锁/home分区。请勿将其留空。

接下来的两个命令打开加密分区并对其进行格式化,以使其准备好存储数据。

sudo cryptsetup luksOpen /dev/nvme0pX home
sudo mkfs.ext4 -m 0 /dev/mapper/home

步骤 3 临时挂载并复制/home

创建新文件夹,作为加密分区的临时挂载点

sudo mkdir /newhome

将加密分区挂载到newhome

sudo mount /dev/mapper/home /newhome

确保您的“主页”文件夹可以访问。如果您有多个用户,并且每个用户的主页文件夹都已加密,请确保“主页”文件夹可以访问。

把原来的 home 复制到 newhome

sudo cp -a /home/* /newhome

确保所有文件都已复制到新主页并且您可以看到它们。

删除在新家中复制的旧加密系统的位

sudo rm -rf /newhome/username/Private /newhome/username/.ecryptfs

您的用户名在哪里username。如果此计算机中有多个用户拥有加密的“主页”文件夹,则您必须为所有用户执行此操作。

步骤 4:将新家设置为家

编辑文件/etc/crypttab

sudo nano /etc/crypttab

添加以下行,确保 UUID 对应于 /dev/nvme0pX:

home UUID=AAA-BBB-CCC-DDDD-EEEEEEEE none luks,timeout=30

Ctrl+ ,X然后按YEnter保存并退出 nano。

/etc/fstab使用 nano编辑

sudo nano /etc/fstab

并添加以下行:

/dev/mapper/home  /home ext4 nodev,nosuid,noatime        0       2

Ctrl+ ,X然后按YEnter保存并退出 nano。

请不要重新启动计算机!

步骤 5:删除旧的加密主页和旧的加密程序

sudo rm -rf /home/*
sudo apt remove ecryptfs-utils libecryptfs1

请注意,旧的 /home 文件夹应该保留为空,因为这将用作加密分区的挂载点。

步骤6:重新启动

在您登录之前,系统会提示您输入主分区密码。

希望这可以帮助

相关内容