Se cada usuário tiver uma conta única, é assim que as coisas funcionariam. É o modo normal de operação para um sistema Linux multiusuário.
Se for uma conta compartilhada (ou seja, todos fazem login como algo como "GenericUser"), isso é um pouco mais difícil. Há muitas maneiras de implementá-lo, mas a maioria faz mais trabalho e mais coisas podem ser quebradas. Isso adiciona trabalho para a equipe de suporte técnico da Universidade, algo que eles provavelmente já têm demais.
A melhor maneira pode ser ter o sistema de arquivos / home / $ user desse usuário compartilhado / padrão carregado como um ramfs / tmpfs. Os alunos podem fazer todas as alterações desejadas, mas quando a conta é desconectada, todas as alterações são perdidas. Na próxima vez que a conta efetuar login, o sistema de arquivos será carregado do disco para o ramfs / tmpfs novamente sem nenhuma das alterações.