私は教師であり、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のWikipediaエントリ
ユーザーが実行できるため、chattr
変更や削除を完全に防ぐことはできませんが、確かにより曖昧にします。