質問: 初心者の管理者の冒険を最もよく追跡する方法 私にはsudo権限が制限されているこのユーザーがいますが、彼はときどき失敗することがあります。彼の冒険に目を光らせて、掘り下げずにダメージを元に戻せるようにしたいと思います。理想的には、次の機能が十分に統合され、見栄えのするサービスが必要です。 ttyrec(またはロギングが設定されている場合はscriptまたはsudo)のようにシェルの入力と出力を追跡し、ttyplay(またはscriptreplayまたはsudoreplayのようにセッションを再生できます)ncursesプログラムとの互換性は素晴らしいですが、必須ではありません。ttyrecは明らかにそれを行うことができます。 ファイルへのアクセス、作成、変更を追跡します。理想的には、ファイルが変更または削除されるたびにファイルをバックアップすることもできます。 これまでのところ、要求された機能のほとんどを取得するためにセットアップする必要があるいくつかのツールを見つけましたが、それらをうまく統合するoss製品に出くわしていません(lynisコミュニティエディションは機能について実際には明確ではありません) 。 ttyrec $(mktemp)、script $(mktemp)またはsudo -u $user -i(sudoロギングが設定されている)を彼の.bashrcに入れて、シェルioをログに記録することができます。 /usr、/etc、/varなどの一部のディレクトリでファイルアクセスを追跡するように監査を設定します。 彼がログインするときにlvmスナップショットを作成しますが、それは少しやり過ぎであり、システムパフォーマンスを低下させる可能性があります。 edit: ttyrecはscriptのより良い代替手段のようです、それは私のすべてのioロギング要件を満たします。今私は見つける必要がありますファイル操作をログに記録する良い方法。ベストプラクティスの提案や推奨事項に感謝します。
回答: おそらく、adminに適切なログ記録方法を使用するように勧めることができます。 gnu screen これは非常にうまくいきます。それはあなたが探しているよりもかなり多くの機能を追加し、またロギングを切り替える機能を持っているので、彼は必要に応じてそれを自分でオフにすることができます。再生機能はありませんが、ログがオンのときにほとんどの入力と出力を追跡するという点で、ソリューションの一部である可能性があります。ユースケースでは、screenrcファイルにdeflog onを追加して、ログオン時に新しいウィンドウをデフォルトにする必要があります。ただし、これにはユーザーが切り替え可能であるという欠点があります。 monit を使用してファイルの監視を行うことができます。これは、ファイルのチェックサムの変更を監視し、さまざまなサービスの状態をチェックすることもできます。これをcronjobのrsyncのようなものと組み合わせると(とにかくそのようなものがあるはずなので)、特に画面で非常にタイトなタイムスタンプをオンにしてユーザーを信頼する場合は、サーバーで何が起こっているのかをかなりしっかりと把握できますロギング設定をいじらないでください。これらのツールを組み合わせることで、基本的なレベルの救済性を確保しながら、ユーザーを適切に監視できる、かなり堅牢で軽量なシステムを構築できます。