如何在Ubuntu 18.04上加密/ home?


57

失望地看到18.04安装程序不再提供加密主目录的选项。根据安装程序中引用的错误报告,当前推荐的加密方法是使用LUKS进行全盘加密,或者使用fscrypt进行目录加密。全盘加密似乎无法满足我的需求,并且Wiki上提到的所有错误和注意事项都不会使它成为非常有吸引力的选择。我真正想要做的就是保护我的主目录,防止他人访问我的文档,照片等。如果我的笔记本电脑被盗,fscrypt成为我的选择。

fscrypt GitHub的页面,对如何设置了一些例子,但我无法找到针对加密在Ubuntu的主目录下的任何文件。旧的ecryptfs工具仍然可用,但在设置好后,Ubuntu有时会在登录屏幕上冻结。

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

(一个类似的问题在这里发布,不幸的是由于它是一个“偏离主题的”错误报告而被关闭。为了澄清,这不是错误报告。从安装程序中删除了加密主目录选项是有意的。所有问这里是如何设置fscrypt。)


2
@Panther LUKS允许解密存储在备份驱动器上的文件吗?我问的原因是因为我使用Macrium Reflect从Windows进行了完整的系统备份。如果需要从备份中提取一些文件,则需要一种解密已备份文件的方法。使用ecryptfs,我所要做的就是插入驱动器并运行存储在加密文件夹中的脚本。
elight24 '18 -4-28

7
那么,对于那些从16.04加密了自己的主文件夹但又由于安装程序中的“ encrypt home folder”选项现在无法安装而无法进行新安装的人呢?我们甚至无法登录。这太荒谬了。
SunnyDaze

2
@SunnyDaze已经有一段时间了,因为我不得不手动安装数据,但是我相信它的命令是“ ecryptfs-mount-private”。
elight24 '18 -4-28

3
您可能会在整个光盘上使用LUKS感到困惑,这不适用于双重引导窗口,而在Ubuntu分区上使用LUKS可以与Windows很好地双重引导。我尚未阅读维基页面
-Panther

2
全磁盘加密很棒,可以完成工作。但这仅是您的个人计算机并且您是唯一的用户就足够了。如果有人想知道why encrypt the home?,当有很多用户时,它很有用。当您登录时,只有您的房屋被解密,其他房屋则不解密
AnthonyB

Answers:


25

更新2019-07

我正在使用运行多个加密的房屋fscrypt。安装未加密的系统,并使用本指南fscrypt在您的家庭中实施。

确保chmod 700回家或使用,umask 077因为fscrypt不会像以前那样自动设置权限ecryptfs

该API fscrypt将来可能会更改,因此如果您尝试升级系统,请确保备份重要文件。

(此功能未在台式机上广泛使用。使用此功能,后果自负。)

更新2018-11

TL:DR; 您可以fscrypt在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.04 18.04.1目前还没有完成,并希望fscrypt在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
Ubuntu 18.04.1已于今天发布,至今仍存在两个错误。我希望可以在18.04.2中看到fscrypt,但现在我不那么乐观了。请更新!
诺妮·穆斯

2
@NonnyMoose更新-在我的帖子的中间看到粗体部分。
Redsandro '18年

3
哇!当人们从16.04升级到18.04时,他们的〜!会发生什么?
MaxB

2
请注意:我遵循了该“先发制人的指南”中的指示(在tty中进行了指导),并获得了无限的登录循环。在全新的18.10安装上尝试了两次,结果相同。
PetroCliff

2
如果有人在加密后陷入无限登录循环,但可以登录tty。就我而言,这是由/home/myuser目录所有者错误引起的。由于某些原因它是根目录,因此将所有者更改为我的用户可以解决此问题。
PetroCliff

8

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

加密现有用户的主目录:

首次注销该帐户并登录到管理员帐户:

安装作业的加密实用程序:

 sudo apt install ecryptfs-utils cryptsetup

现在,该启动板中的错误 ecryptfs-utils已包含在Universe存储库中。

迁移该用户的主文件夹:

sudo ecryptfs-migrate-home -u <user>

然后是该帐户的用户密码

然后注销并登录到加密的用户帐户-重新启动之前!完成加密过程

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

ecryptfs-unwrap-passphrase

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

另外,如果您要创建具有加密主目录的新用户,请执行以下操作:

sudo adduser --encrypt-home <user>

有关更多信息:man ecryptfs-migrate-home ; man ecryptfs-setup-private


2
感谢您的回答,ptetteh。前几天我尝试了该方法,但登录时似乎会出现问题。有时它会在登录屏幕上冻结,并导致我必须重新启动。我重新安装了18.04,以确保不是引起问题的其他原因,到目前为止,一切似乎都还不错。如果现在认为默认情况下不适合包含ecryptfs,我认为最好的办法是使用LUKS或fscrypt。
elight24 '18

1
它在干净的安装(18.04.1)中为我工作。我必须在“恢复模式”下执行此操作。登录时不需要解包,因为它会通知您并要求您写下生成的密码。谢谢!
lepe

2
如果您的主目录中有一些较长的路径名(>〜140个字符),则ecryptfs将不起作用。见unix.stackexchange.com/questions/32795/...
塞巴斯蒂安·斯塔克

1

就个人而言,在大多数情况下,我几乎不建议任何人使用文件系统加密(FSE)。原因有很多,其中最重要的是现有的和更有效的选择。你们都说只有两个选项,即FSE或FDE(全盘加密)。但是,事实并非如此。实际上,还有两个对OP都有利的选项,分别是文件容器加密和加密档案。

文件容器加密是像Veracrypt这样的软件所编写的,而现在已经失效的Truecrypt则是为之编写的。大多数文件压缩存档软件(例如Winzip和7zip)都内置了容器加密功能,作为创建此类存档时的一种选择。

两者都比FSE具有许多优势,最明显的是,在不使用加密文件时,您无需将它们挂载。这会阻止任何人访问谁能够覆盖用户配置文件键和屏幕锁定的保护。另外,您可能会做一些愚蠢的事情,例如离开计算机,但忘记锁定屏幕或让某人使用计算机,并希望他们不会窥视您的隐藏目录。此外,由于容器是可移植的,因此您可以轻松地一次移动大量文件,而无需以其他方式加密它们。

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

两者都提供使用文件压缩的​​功能。您也可以隐藏文件名,尽管使用压缩档案时并非总是如此,这取决于所使用的某些压缩算法。

我个人使用容器加密来存储不会移动的文件,并使用加密档案来存储将要移动或存储在云中的文件,因为文件较小。

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

无论如何,我只想向您提供所有其他海报都没有提及的替代方案。随意同意或不同意我所说的话。


8
你好 对于您的“保姆”示例,我有一些评论:-首先,在很多地方,人们可能会期望默认情况下,平均保姆是青少年,这使进入这样的话题有点令人不安。其次,我只想肯定地说,有比隐藏有罪秘密更好的加密用例。
mwfearnley

容器的大小是固定的,文件系统加密(fscrypt,eCryptfs,EncFS等)仅占用文件空间,并且可以相应地增长和收缩。QED。PS,您似乎没有意识到eCryptfs只能在家加密一个目录,只能一时兴起解密。
Xen2050

3
老实说,这个答案很有用,但内容令人反感。仅仅是由于将加密与犯罪活动相关联,就好像媒体中没有足够的加密手段。加密是保护犯罪活动。由于这个原因,我无法投票。一旦进行编辑,该评论将被删除。
托德

1
请注意,如果您不能信任根(uid:0),则不能将系统用于任何加密(FSE,容器或归档)。如果您打开加密并在未锁定安全的情况下离开系统,则所有加密系统都容易受到攻击。同样,如果您不对整个文件系统进行加密,则必须了解,可能所有接触机密文件的应用程序都可能在安全分区之外制作未加密的副本。
Mikko Rantalainen

0

如果像我一样,您正在通过Ubuntu 16.04进行Ubuntu 18.04的全新安装,并且您以前已加密/home,则将看到安装后无法登录。您需要做的就是安装与ecryptfs相关的软件包: sudo apt install ecryptfs-utils cryptsetup,重新启动并登录。

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

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.