手動で修正するためにbash_historyファイルを監視する方法は?

手動で修正するためにbash_historyファイルを監視する方法は?

ユーザーを監視するデーモンを作成しようとしています。bash_history手動で変更されたファイルの場合。つまり、ユーザーがファイルを開いて変更すると、セキュリティ対策を講じるためにデーモンにこれを通知しますが、履歴自体が更新されている間は何も起こりません。

私が試した解決策はinotify待つ:

while true; do
    inotifywait -e close_write,move,delete ~/.bash_history && notify
done

どこ通知する特定の通知プロセスを実行するスクリプトです。

私はこれがほとんどのファイルでうまくいくと思いますが、この場合はそうではありません。通知する履歴が更新されるたびに実行されます。

これは大丈夫ですか、それとも別のアプリを使用する必要がありますか?

ベストアンサー1

それは不可能ですinotify。ユーザーまたはプロセスによってファイルが変更されたかどうかを検出する構成はなく、「ファイルに追加」のみを監視する構成もありません。

そしてあるとしても「ファイルに追加」inotifyイベントにより、ユーザーはbash_history誤ったエントリを生成してデータを注入することができ、echo >>それによって監視のすべての意味が失われます。

以下の提案に従って記録ファイルを強化することができ、これが最善の方法だと思います。

おすすめ記事