我想建立一个专用的机器,我可以用它来测试我们公司的候选人.
该机器应运行 Linux,SSH服务器监听连接.
该机器应运行 Linux,SSH服务器监听连接.
我想向每个候选人发送一个用户和密码(同一个).
在连接时,他将收到关于如何进行测试并提交他的工作的消息.
如果他断开连接,所有更改都将恢复,文件,历史记录,所有内容都需要删除.
我还想支持使用相同凭据连接的多个用户.所以我想我需要实现某种为每个SSH连接即时创建的虚拟化环境.
在互联网战争游戏中实际上有这个实现(例如这个http://overthewire.org/wargames/bandit/bandit0.html)
有关如何实现这一点的任何想法?
解决方法
每用户消息可以是$HOME / .bashrc中的echo语句或类似的消息.即使用户改变了该文件,他们也需要先登录才能这样做,即便如此,他们也会看到该消息.更好的方法可能是/ etc / motd中的某些内容.这就是该文件的用途.
看看Patrick的answer here在登出时执行某些操作.您可以简单地重新启动VM并让虚拟机管理程序从干净的快照/冻结映像/自动启动.就个人而言,我不会使用.bash_logout,因为它需要一些小小的功能来确保用户无法修改/删除/重命名/符号链接文件. PAM会更加万无一失.
如果您不想重新启动VM,可能会将带有原始系统文件副本的ar / o分区进行rsync(#rsync -av / mnt / ro / home / / home / –delete)到$主页/退出后.