防止学生弄乱 /home/user 中程序设置的好方法

防止学生弄乱 /home/user 中程序设置的好方法

我是一名老师,我使用 Linux,这很棒!但学生们对这个他们不知道的“新”操作系统感到好奇,他们在 GUI 中调整程序设置,从而影响内部的隐藏文件/home/user

[profesor@240-kateder ~]$ ls -a
.              .dbeaver4         .gtkrc-2.0        .sane
..             .dbeaver-drivers  .icons            .swt
.bash_history  .dropbox          .kde4             .themes
.bash_logout   .eclipse          .local            .thumbnails
.bash_profile  .esd_auth         .lyx              .ViberPC
.bashrc        .FlatCAM          .masterpdfeditor  .w3m
.cache         .FreeCAD          .mozilla          .Xauthority
.config        .gimp-2.8         .pki              .xinitrc
.convertall    .gnupg            .qucs             .xournal

这是不需要的,因为随着时间的推移,程序界面会发生巨大的变化,程序将缺少工具栏、按钮、主菜单、状态菜单……而学生最终会得到完全不同的 GUI,所以他们打电话给我讨论这个问题,我们也花了很多时间很多时间。

现在为了优化这个,我必须确保程序设置(里面的隐藏文件/home/user)没有改变,所以我尝试像这样改变它们,sudo chmod -R 555 ~/.*但这对所有程序来说效果不佳,因为有些程序想要在启动时操纵它们的设置,因此它们无法在没有sudo.而且学生没有sudo特权。

但为、、、sudo chmod -R 555 ~/.*工作,所以我在想我是否会:.bash_profile.bash_logout.bashrc.bash_history.xinitrc

  1. 阻止用户删除.bash_profile, .bash_logout, .bashrc, .bash_history,.xinitrc
  2. 将所有隐藏的设置文件复制到文件夹中/opt/restore_settings
  3. 程序.bash_profile在登录时清理用户主目录中的所有设置rm -r ~/.*(我假设这不会从第 1 点删除文件,如果我保护它们),然后从/opt/restore_settings.

我不想知道你对这个想法的看法,或者是否有更好的方法来做到这一点。我需要一种方法来防止用户从第 1 点删除文件。否则这是行不通的。

答案1

完全不同的方法:创建一个小组students,为每个学生提供自己的帐户,并在 中具有小组成员资格students。有一个脚本可以将给定的主目录从模板恢复到已知的良好状态,可能会删除所有额外的点文件。向学生讲述这个脚本。

如果您有多台计算机,请集中此方法(在单个中央服务器上进行用户管理),并使用中央文件服务器作为学生主目录,以便每个学生在任何计算机上都获得相同的主目录。

加上chmod到处都有适当的(基本)权限,这将确保每个学生只能在他或她自己的主目录中造成严重破坏,并且可以在它损坏时恢复它,可能会在此过程中丢失他们自己的自定义设置,因此他们会更容易下次小心点。

顺便说一句,对于机器集群上的许多用户来说,这是一个非常标准的设置。

答案2

点文件上的设置Immutable和属性应该会有所帮助。看Undeletablechattrman chattrchattr 的维基百科条目

由于用户可以运行chattr,因此不会完全阻止更改或删除,但它肯定会使其更加模糊。

相关内容