如果您有一个使用加密主文件夹的帐户,如果该用户尚未登录,则您无法访问其主文件夹中的用户纯文本数据,因为系统上次启动。这是我所期望的,因为实际上在不输入密码的情况下访问用户的主文件夹实际上是不可行的。
但是,我发现当使用加密主文件夹的用户登录然后注销时,其他用户仍然可以访问其主文件夹中的纯文本数据。当然,需要足够的访问权限。
w
没有列出用户并且 的输出sudo pgrep -u <username>
为空,表示用户没有任何正在运行的进程。
这种行为的原因是什么?为什么不在用户注销后锁定用户的主文件夹?
已知错误
如果我理解正确,这是一个已知的错误。
请参阅此链接:wiki.archlinux.org/index.php/ECryptfs
向下滚动到粉红色段落
解决方法
就像现在一样,您最好关闭或重新启动以删除痕迹(退出是不够的)。
我一直在研究这个问题很长一段时间,即用户注销后未加密的文件系统仍然挂载。
我使用“ecryptfs-migrate-home -u user”来创建挂载。遵循指示和所有工作,除了在注销时没有自动卸载。
我将 /etc/pam.d/ 中的配置文件与 pam_ecryptfs 文档进行了比较,发现了一些差异。ecryptfs 在 4 个 pam.d 配置文件中,而 pam_ecryptfs 文档表明只有 2 个文件需要/应该/支持 ecryptfs,例如,
因此,我注释掉了其他 2 个实例,重新启动,一切正常,在登录时自动挂载,在注销时自动卸载图形和控制台登录。(我使用备用 tty 从 root 帐户验证)
这是 18.04 Lubuntu 在笔记本电脑、台式机和 virtualbox 来宾(Windows 主机)上。
我对别人的经历很感兴趣。
edit_1:改进措辞。edit_2:添加了桌面和VB测试结果。
我无法测试或确认这一点,但假设您正在使用
ecryptfs
(这是 Ubuntu 在安装期间提供的 IIRC),加密数据存储在隐藏文件夹中,并在您登录时/home/.encryptfs/$USER
使用驱动程序安装到您的实际主文件夹位置ecryptfs
在。那么,最有可能发生的事情是,当您注销时,它无法自动卸载该目录,因此这些文件仍然可以访问。这可能是由于...
可以帮助您检查这一点的一件事是
sudo mount | grep home
在登录前、登录后和注销后运行,以查看是否home
正在安装任何涉及的内容。您还可以查找/etc/fstab
相关条目。最后,有一些配置/home/.ecryptfs/$USER/.ecryptfs/
与自动挂载/卸载相关的设置。有用的信息
ecryptfs
可以在这个答案和有用的ArchWiki中找到。编辑
/etc/systemd/logind.conf
和设置KillUserProcesses=yes
请注意,这会破坏后台程序、、、
screen
和tmux
类似...这个问题在这里更详细地讨论。我发现定义一个新的 systemd 服务是不必要的(或者更准确地说,不是所需的行为,因为它是作为关闭挂钩调用的,而不是在用户会话终止时调用)。
https://unix.stackexchange.com/questions/251902/ecryptfs-auto-umount-does-not-work
我用 rclocal 中的脚本来做
如果您不需要从 cron 或 at 作业(非交互式任务)访问任何主目录,那么您只需注释掉该行
在
/etc/pam.d/common-session-noninteractive
.这将导致在用户注销时卸载所有加密的主目录。