特定のコンテンツ(チェックサムとして提供)を含むファイルがローカルファイルシステムに生成されたときにどのようにイベントをキャプチャできますか?

特定のコンテンツ(チェックサムとして提供)を含むファイルがローカルファイルシステムに生成されたときにどのようにイベントをキャプチャできますか?

私は、ユーザーがワークステーションのハードドライブ(私が管理している)に特定のコンテンツを含むファイルを書き込むときにリアルタイムでイベントを追跡する一種のトリップワイヤーセキュリティメカニズムを実装したいと思います。

そうでなければ素晴らしいロギングファイルシステムファイルの内容は監視できず、ファイル名のみを監視できます。

他にどのようなオプションがありますか?リアルタイムのウイルス対策ソフトウェアで使用するのと同様のものが必要だと思います。

PS btrfsを使用してリーフブロックチェックサムに頼ることができます。しかし、私はより一般的な解決策を好みます。

ベストアンサー1

Linuxでは、パッケージをインストールして構成を編集してこのinotifyメ​​カニズムを設定できます。incronincron

/etc/incron.conf
system_table_dir=/etc/incron.d
user_table_dir=/var/spool/incron
allowed_users=/etc/incron.allow
denied_users=/etc/incron.deny
lockfile_dir=/var/run
logfile_name=incrond
editor=vi

次に、次の時計を設定します/etc/incron.d/myscriptwatch

/path/to/dir IN_CLOSE_WRITE,IN_MOVED_TO /path/to/check_content_script.sh $@ $#

/path/to/check_content_script.sh次のステップは、ファイルがどのように処理されているかを確認するように設定することです。

CURRSUM=$(md5sum $@)
PREVSUM=$(cat /path/to/old_saved_sum)

if [ "$CURRSUM" = "$PREVSUM" ]
then
   echo "file $@ is not altered" >> /tmp/watch_log
else
   echo "file $@ is altered" >> /tmp/watch_log
fi

また、他のイベントを監視してファイルが変更されたかどうかを確認することもできます。IN_CLOSE_WRITE,IN_ATTRIB,IN_MODIFY

man 5 incrontab詳細は参照してください。

おすすめ記事