Linux 易失性用户主区域

Linux 易失性用户主区域

这实际上是一个由两部分组成的问题,一部分是设计决策,另一部分是技术问题:

在我们当前的网络中,我们有 Linux 客户端,它们通过服务器进行身份验证,并挂载用户的网络主目录,但将实际主目录分开。网络主目录使用 pam_mount 挂载,并在注销时卸载。但是,实际主目录区域仍然存在,因此我们当前的方法是在启动时清除 /home。

我一直在研究执行此操作的替代方法,一个有趣的方法是将 tmpfs“磁盘”挂载为用户的主区域,然后在注销时卸载它。理想情况下,这也可以使用 pam_mount 来执行。我在尝试使其工作时遇到了问题,详情如下。

方法 1

“原始”启动时清除 /home 的方法可靠,通常总是有效,但由于在相同区域进行多次写入,可能会损坏 HDD/SSD。当前实施正在全面运行。

方法 2

“新” tmpfs 易失性主区域,在注销时卸载。优点包括自动清理主区域、快速读取/写入以及无磁盘读取/写入。还可以轻松限制主区域的大小。缺点是可能会耗尽内存,但我也遇到了几个问题:

在经过大量修改的 Ubuntu 12.04 系统上使用 XFCE,通过 pam_mount 挂载 tmpfs 工作正常,但卸载失败,并出现设备繁忙错误。但问题不止于此,因为即使在注销并以 root 身份工作后,尝试手动卸载主区域也会出现同样的错误,尽管 fuser 和 lsof 使用该目录时没有显示任何内容。事实上,我问过这个问题askubuntu.com

尝试在更标准的 Ubuntu 12.04 上执行相同操作,使用 pam_mount 卸载仍然失败,但这次手动卸载成功。在我的 Arch 系统上执行完全相同的操作,即使使用 pam_mount 进行卸载,也可以成功。

结论

因此,有两种方法可以实现这一点。每种方法是否还有其他优点/缺点,可能会让我选择其中一种而不是另一种?为什么 tmpfs 主区域功能无法正常工作!

答案1

尝试为您的 /home 设置自动挂载,当用户登录时,它将执行网络挂载,当不再需要时,它将卸载。您可以为 /home 中的所有用户执行此操作,或者为每个用户定义一个单独的自动挂载目标。

相关内容