我想设置一台 Linux 机器,学生可以使用它登录并在虚拟机上工作。我希望从头到尾都发生以下行为。这是一个教室环境,我不希望学生所做的任何更改在注销/重启后仍然存在。
- 用户使用用户名/密码登录。
- 用户在机器上执行其工作。
- 用户注销或关闭机器。
- 主目录恢复为已知或默认状态。
- 对另一个用户重复此操作。
有没有办法做到这一点,或者有没有更好的方法来思考我所忽略的这个问题?
答案1
马修 -
您要做的事情已经内置在 Linux 中!您想使用 .bash_logout 机制在注销时清除用户主目录中的所有内容,并在登录时恢复这些文件。如果没有,请添加一行以将它们复制回来。
你可以用类似这样的方法来实现:
.bash_注销
#!/bin/bash
rm -rf *
您可以将该文件放入 /etc/skel,这样所有新用户在创建时都会拥有该文件。还可以创建您希望在其主目录中拥有的任何其他文件夹,这些文件夹在 /etc/skel 中不存在,例如 Documents、Downloads 等。
如果文件没有自动放回主文件夹,只需将其添加到 .bash_logout 的末尾
cp -r /etc/skel ./