如何在 Ubuntu 18.04 上加密 /home?

如何在 Ubuntu 18.04 上加密 /home?

很失望地看到 18.04 安装程序不再提供加密主目录的选项。根据安装程序中引用的错误报告,目前推荐的加密方法是使用 LUKS 进行全盘加密,或使用 fscrypt 进行目录加密。全盘加密似乎有点超出我的需要,而且所有在维基百科不要让它成为一个非常有吸引力的选择。我真正想要的是保护我的主目录,以防止有人访问我的文档、照片等,如果我的笔记本电脑被盗,那么 fscrypt 就是我的选择。

fscrypt GitHub 页面有一些关于如何设置的示例,但我找不到任何关于加密 Ubuntu 上的主目录的文档。旧的 ecryptfs 工具仍然可用,但设置后 Ubuntu 有时会在登录屏幕上冻结。

所以我的问题是:如何设置 fscrypt 来加密我的 /home 目录并在登录时解密?我还喜欢 ecryptfs 如何允许手动解密文件夹(例如从磁盘映像)。

(有一个类似的问题这里遗憾的是,由于是“离题”错误报告而被关闭。需要澄清的是,这不是错误报告。从安装程序中删除加密主目录选项是故意的。我在这里问的是如何设置 fscrypt。)

答案1

更新 2020-02

我正在运行多个加密家庭fscrypt。安装不带加密的系统并使用本指南fscrypt在您的家中实现。

该 API 将来fscrypt可能会发生变化,因此如果您尝试升级系统,请务必备份重要文件。

(该功能在桌面上并不广泛使用。使用时请自行承担风险。)

更新 2018-11

fscryptTL:DR; 您可以在 Ubuntu 18.10+ 或 Linux Mint 19.1+ 中尝试

看来这个问题终于解决了。以下是预先指南:http://tlbdk.github.io/ubuntu/2018/10/22/fscrypt.html

我没有在这里引用说明,因为它确实需要一些技巧,最终可能会丢失家庭数据。

警告:来自用户的警告@dpg“小心:我按照“先发制人指南”中的说明进行操作(在 tty 下执行),但遇到了无限登录循环。”

请仅将本指南视为教育目的。

接下来是我的原文答案:

原始答案 2018-05

TL;DR: 使用经典家庭加密Linux Mint 19 Tara

fscrypt家庭加密仍然被破解。


如何设置 fscrypt 来加密我的 /home 目录并在登录时解密?

这是我们很多人都想要的。看来 Ubuntu 团队无法ecryptfs在 Ubuntu 18.04 上实现无错误工作,也无法fscrypt在预定的 Ubuntu 18.04 版本发布前及时修复家庭加密选项中的错误。

对于fscrypt,至少有一个严重的错误,导致它目前无法用于家庭加密:

此外,我们需要一种透明的身份验证/解锁方式,才能真正替代“旧”的 ecryptfs 类型的家庭加密。详情如下:

这些问题尚未解决,您可以认为家庭加密目前已失效。因此,我和我的同事认为 Ubuntu 18.04fscrypt 18.04.1 目前尚未完成,并希望家庭加密能够在 Ubuntu 18.04.1 18.04.2 中恢复(使用新的、更好的方法) 。

直到那时,我们将坚持使用 Ubuntu 16.04。 我们已将所有机器切换至Linux Mint 19 Tara与使用经典家庭加密ecryptfs阅读“已知的问题”部分Linux Mint 19 Tara 发行说明关于ecryptfs限制,看看你是否可以接受:

(...)请注意,在 Mint 19 及更新版本中,您的加密主目录在注销时不再卸载。

如果你尝试过fscrypt并发现它不适合你的使用,你可以投票“这个错误也影响到我了”以下启动板错误:


请注意,fscrypt/ ext4-crypt(将来的“加密主页”)是最快的选项,而ecryptfs(旧的“加密主页”)是最慢的选项。LUKS(“加密整个驱动器”)位于中间。

因此,我们“方便地”推荐使用整个磁盘加密。因为如果您的项目非常大,包含许多小文件,经常使用修订管理,进行大型编译等,您会发现与旧的 ecryptfs 类型家庭加密的缓慢相比,加密整个驱动器的过度行为实际上是值得的。

最后,加密整个驱动器有多个缺点:

  • 来宾帐户
  • 带有私人账户的家庭笔记本电脑
  • 使用类似 PREY 的防盗软件

令人费解的是,Canonical 决定“我们不再需要这个了”在他们的 LTS 版本上,该版本已被称为更“严肃”的发行版。

答案2

Panther 的答案在这里全盘加密会加密包括 /home 在内的所有内容,同时仅加密特定目录,例如 /home 仅在您未登录时才加密。

加密现有用户主目录:

  • 首先注销该帐户并登录管理员帐户。
  • 安装该作业的加密实用程序:

    sudo apt install ecryptfs-utils cryptsetup
    

    从此启动板错误ecryptfs-utils 现在位于 universe repo 中。

  • 迁移该用户的主文件夹:

    sudo ecryptfs-migrate-home -u <user>
    

    然后是该帐户的用户密码

  • 注销并登录加密用户帐户重启之前完成加密过程。

  • 在帐户内打印并记录恢复密码:

    ecryptfs-unwrap-passphrase
    

您现在可以重新启动并登录。一旦您满意,您就可以删除备份主文件夹。

另外,如果您想创建一个具有加密主目录的新用户:

sudo adduser --encrypt-home <user>

更多信息:man ecryptfs-migrate-homeman ecryptfs-setup-private

答案3

就我个人而言,在大多数情况下,我几乎从不建议任何人使用文件系统加密 (FSE)。原因有很多,其中最重要的就是存在更有效的替代方案。你们都说只有两个选项,要么是 FSE,要么是 FDE(全盘加密)。然而,事实并非如此。事实上,还有另外两个选项,它们都会给 OP 带来更大的好处,即文件容器加密和加密档案。

文件容器加密是 Veracrypt 和现已停用的 Truecrypt 等软件的专用功能。大多数文件压缩存档软件(如 Winzip 和 7zip)都内置了容器加密功能,作为创建此类存档时的选项。

这两种方式都比 FSE 有许多优势,最明显的是,当你不使用加密文件时,你不需要将它们挂载。这样可以防止任何人访问并覆盖用户配置文件密钥和屏幕锁定的保护。此外,你可能会做一些愚蠢的事情,比如离开你的电脑,但忘记锁定屏幕,或者允许某人使用电脑,并希望他们不会偷看你的隐藏目录。此外,你可以轻松地一次移动大量文件,而无需以其他方式加密它们,因为容器是可移植的。

Veracrypt 容器的一个非常有用的优点是它们可以作为驱动器安装,这样您就可以使用单独的文件系统(最好是非日志文件系统,如 EXT2 或 FAT32)对其进行格式化。日志文件系统可能会向攻击者泄露信息。但是,如果您所做的只是隐藏您的个人照片,那么这可能与您无关。另一方面,如果您拥有国家机密或受法律保护的数据,那么它可能与您有关。如果使用密钥文件,您还可以将它们设置为在启动时自动安装。但是,不建议这样做,因为密钥文件需要存储在比 FSE 存储用户配置文件密钥的位置更不安全的地方。

两者都提供使用文件压缩的​​功能。您还可以隐藏文件名,不过,使用压缩档案时并非总是如此,这取决于所使用的特定压缩算法。

就我个人而言,我对不会移动的文件使用容器加密,对会移动或存储在云中的文件使用加密档案,因为它的文件大小较小。

使用容器加密仍然可以加密主目录。也许可以将加密密钥存储在 YubiKey 上?

无论如何,我只是想向大家提供一些其他发帖者没有提到的替代方案。您可以随意同意或不同意我所说的任何内容。

答案4

如果您像我一样,在 Ubuntu 16.04 上全新安装 Ubuntu 18.04,并且之前已加密/home,则您会发现安装后无法登录。您需要做的就是安装 ecryptfs 相关软件包: sudo apt install ecryptfs-utils cryptsetup,重新启动并登录。

要安装这些软件包,您可以在 budgie 加载后登录备用 tty(++ Cntrl),或者进入 linux 恢复模式并从那里安装。AltF1

相关内容