如何实例化 Linux 用户帐户以便可以安全地重复使用它们?

如何实例化 Linux 用户帐户以便可以安全地重复使用它们?

假设我有 10 个用户帐户。我希望登录的用户将使用该帐户的实例而不是帐户本身。

因此,当他们登录时,他们将使用该帐户的副本进行工作,该副本应在他们注销时立即删除。如果两个或多个用户使用同一个帐户,他们就不应该能够看到彼此的文件。

如果他们返回该帐户,他们应该回到初始状态。

答案1

您想要实现什么目标?

您所描述的通常没什么用(我所看到的唯一有用的情况是在公共访问 unix 系统上,您允许人们以“客人”身份登录,然后他们被重定向到一个guest1234帐户,当他们注销时,该帐户会被删除。您可以使用 PAM 模块或对登录二进制文件进行一些黑客攻击来实现这种可怕的事情,但这通常是一个坏主意,因此留给读者练习。

答案2

你这样做是错的

完全实现这样的事情非常困难。你可以尝试各种方法,例如:


添加到登录脚本:

NEWHOME=$(mkdir $HOME/.tmphome.XXXXXX)
export HOME=$NEWHOME
(spawn rest of session)

这样你就能到达那里的大部分路程。

或者,让每个人都通过 ssh 登录一个元访客帐户,该帐户:

  • 锁定信号量
  • 选择下一个未使用的来宾帐户
  • 重新初始化该访客帐户(删除文件等)
  • 使用 ssh/sudo/whatever 更改为该访客帐户
  • 解锁信号量

相关内容