どのプログラムやスクリプトが特定のファイルを生成したかを調べることは可能ですか?

どのプログラムやスクリプトが特定のファイルを生成したかを調べることは可能ですか?

「client_state.xml」、「lockfile」、「time_stats_log」という3つのファイルが私のホームディレクトリに突然現れました。最後の2つは空です。彼らがどのようにそこまで来たのか疑問に思います。これが最初に発生したわけではありませんが、最後にファイルを破損や不満なしに削除したのは数週間前でした。私が何をしていたのか覚えていませんstat $filename。彼らがどこから来たのかを調べる方法はありますか?

または、デフォルトディレクトリ(サブディレクトリを除く)でファイルの生成を監視する方法はありますか?

ベストアンサー1

ファイルシステムにアクセスして、ファイルシステムで何が起こっているのかを観察できます。ロギングファイルシステム。これはスタックファイルシステムディレクトリツリーにすべてのアクセスを記録します。

loggedfs -l /var/tmp/$USER-home-fs.log ~

ただし、ホームディレクトリ全体を記録すると、システムが遅くなる可能性があります。あなたは少なくとも1つを書きたいと思うでしょう構成ファイルそして厳格なフィルタリングを経ます。

root アクセス権がある場合は、Linux で次のものを使用できます。監査サブシステムファイルシステムへのアクセスを含む多くのコンテンツを記録します。デーモンが起動したことを確認し、auditd記録する内容を設定します。auditctl。記録されたすべてのジョブは記録されます/var/log/audit/audit.log(通常のディストリビューションで)。特定のファイルの視聴を開始するには:

auditctl -w /path/to/file

または長い形式

auditctl -a exit,always -F path=/path/to/file

-wまたはを使用してディレクトリを監視すると、-F dir=そのディレクトリとそのサブディレクトリのファイルも再帰的に監視されます。

おすすめ記事