所以我的问题是:如何设置fscrypt来加密我的/home目录,并在登录时进行解密?我也喜欢ecryptfs允许手动解密文件夹(例如,从磁盘映像中)。
(一个类似的问题已经发布在这里,但不幸的是,它因为被认为是“离题”的错误报告而关闭。为了澄清,这不是错误报告。从安装程序中删除加密主目录选项是有意的。我在这里询问的是如何设置fscrypt。)
我正在运行多个使用fscrypt
加密的家目录。在安装系统时不要启用加密,并使用this guide来在您的家目录上实施fscrypt
。
fscrypt
的API可能会在未来发生变化,因此如果您尝试升级系统,请务必备份重要文件。
(这个功能在桌面上并不常用。请自行承担风险。)
fscrypt
看起来这个问题终于得到解决了。这是一个预防性指南:http://tlbdk.github.io/ubuntu/2018/10/22/fscrypt.html
我不会在这里引用具体的操作步骤,因为它需要一些技巧,而且您可能会丢失家目录中的数据。
警告:用户@dpg发出警告:“小心:我按照那个“预防性指南”的指示操作(在tty下进行),结果陷入无限循环登录。”
请将此指南仅用于教育目的。
接下来是我的原始答案:
fscrypt
对于主目录加密仍然存在问题。
有了这些问题,你可以认为家庭加密在这一点上已经破解了。因此,我和我的同事们认为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
并发现它对你的需求无效,你可以在以下的 launchpad bug 上投票 "this bug affects me too":
fscrypt
/ext4-crypt
(未来的“加密主目录”)是最快的选项,而ecryptfs
(旧版“加密主目录”)是最慢的选项。LUKS
(“加密整个驱动器”)位于中间位置。/home/myuser
目录的所有者错误引起的。由于某种原因,它的所有者是root,所以将所有者更改为我的用户解决了这个问题。 - Peter安装用于此工作的加密工具:
sudo apt install ecryptfs-utils cryptsetup
从launchpad bug中得知,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
。Veracrypt容器非常有用的一个优点是可以作为驱动器挂载,这样您就可以使用单独的文件系统对其进行格式化,最好选择非日志文件系统,如EXT2或FAT32。日志文件系统可能会向攻击者泄露信息。然而,如果您只是隐藏个人照片,这对您可能并不那么相关。但是,如果您拥有国家机密或受法律保护的数据,那可能会重要。您还可以设置它们在启动时自动挂载,如果使用密钥文件。然而,这不被推荐,因为密钥文件需要存储在比FSE用户配置文件键更不安全的地方。
两者都提供文件压缩功能。您还可以隐藏文件名,尽管在使用压缩存档时,并非总是如此,这取决于所使用的特定压缩算法。
就个人而言,我使用容器加密来加密不会移动的文件,并使用加密存档来加密将要移动或存储在云中的文件,因为它们的文件大小较小。
仍然可以使用容器加密来加密主目录。也许将加密密钥存储在YubiKey上?
无论如何,我只是想给大家提供一些其他帖子中没有提到的选择。请随意赞同或反对我所说的任何事情。