
私は、関係するユーザーが特定の時間 (1000 から 1200 時間など) にプログラム (主にインターネット ブラウザー) を実行できないようにするスクリプトを作成しようとしています。これは生産性スイートのようなものです。タイミングの問題やユーザーの問題を実装することには大きな問題はありません。問題は、タスクの実行を阻止することにあります。
質問は、プロセスが開始する前に停止するにはどうすればいいかということです。
現在、次のような疑似コードで無限ループを実装しています。
while(1)
killall midori
killall firefox
sleep(60s)
end
しかし、これはコンピュータに負担をかけますし、タスクが始まったら止めたくありません。防ぐそもそもタスクを開始しないようにします。
答え1
いくつかの方法があります:
すべてのワークステーションのローカル接続ストレージから制限したい実行可能ファイルを削除し、自分が管理するネットワークドライブからのみアクセスできるようにします。
SELinux ポリシーを使用してワークステーションごとに実行を制限する
プロキシまたはiptablesを使用して、問題の実行ファイルに必要なポート、IPアドレス、またはその他のリソースへのアクセスを制限します。
これらの方法はいずれも、ユーザーが署名しなければならない、十分に説明された使用ポリシー契約を最初に実装しなければ効果がありません。