使用 ext4 加密,如何防止其他登录 shell 或用户访问未加密的文件?

使用 ext4 加密,如何防止其他登录 shell 或用户访问未加密的文件?

我已按照此处的说明使用 ext4 加密:

如何在具有新 4.1 内核的 Ubuntu 15.04 上创建 ext4 加密分区?

一切正常。但如果文件为所有者用户解密,那么当我以其他用户身份登录时,我可以看到明文加密文件。这些文件是全世界可读的,但密钥只在所有者用户的密钥环中,所以我很确定这不应该被允许。

问题可能与 inode 缓存有关。当我这样做时:

echo 2 > /proc/sys/vm/drop_caches

然后第二个用户就无法访问这些文件了。但是,只要第一个用户访问这些文件(使用会话密钥环中的密钥),第二个用户就可以看到这些文件了。

我肯定做了一些明显错误的事情,但我不确定是什么。

我使用预发布的 Yakkety Yak(Ubuntu 16.10)在内核 4.4.0-33-generic 上。

答案1

我向 Ted Ts'o(ext4 加密的主要作者之一)确认,ext4 加密的设计并非如我所想。它并非旨在提供我所希望的那种“进程级”解密内容隔离。仍必须使用普通访问限制(文件所有权和权限)来阻止其他用户访问文件。

相关内容