我是一名老师,我使用 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
- 阻止用户删除
.bash_profile
,.bash_logout
,.bashrc
,.bash_history
,.xinitrc
- 将所有隐藏的设置文件复制到文件夹中
/opt/restore_settings
- 程序
.bash_profile
在登录时清理用户主目录中的所有设置rm -r ~/.*
(我假设这不会从第 1 点删除文件,如果我保护它们),然后从/opt/restore_settings
.
我不想知道你对这个想法的看法,或者是否有更好的方法来做到这一点。我需要一种方法来防止用户从第 1 点删除文件。否则这是行不通的。
答案1
完全不同的方法:创建一个小组students
,为每个学生提供自己的帐户,并在 中具有小组成员资格students
。有一个脚本可以将给定的主目录从模板恢复到已知的良好状态,可能会删除所有额外的点文件。向学生讲述这个脚本。
如果您有多台计算机,请集中此方法(在单个中央服务器上进行用户管理),并使用中央文件服务器作为学生主目录,以便每个学生在任何计算机上都获得相同的主目录。
加上chmod
到处都有适当的(基本)权限,这将确保每个学生只能在他或她自己的主目录中造成严重破坏,并且可以在它损坏时恢复它,可能会在此过程中丢失他们自己的自定义设置,因此他们会更容易下次小心点。
顺便说一句,对于机器集群上的许多用户来说,这是一个非常标准的设置。
答案2
点文件上的设置Immutable
和属性应该会有所帮助。看Undeletable
chattr
man chattr
或chattr 的维基百科条目
由于用户可以运行chattr
,因此不会完全阻止更改或删除,但它肯定会使其更加模糊。