ファイルが作成されてから誰かがファイルを変更したり、他の場所に移動したりした場合など、ファイルの完全な履歴を知る必要があります。
一般的に、できません。保存が保証されているメタデータは常に最新リビジョンのものであり、他のメタデータはいつでも上書きされる可能性があります。
環境が潜在的に敵対的である場合は、 カーネル監査サブシステム を使用してrename()
およびwrite()
システムコールを監査およびログに記録することを検討してください。ただし、これはかなり扱いにくいです。おそらく気にしない大量のデータをログに記録するからです。必要に応じて、監査を関心のあるファイルのサブセットに制限することもできます。
これが主に改訂用である場合は、Gitなどのバージョン管理システムの使用を検討してください。これにより、ユーザーはファイルの状態を時間の経過とともに効果的に把握でき、監査ログを逆方向にナビゲートするよりもはるかにユーザーフレンドリーです。それはあなたが求めたすべてのこと、そしてはるかに多くのことをすることができます。