Linuxを使い始めたとき、ファイルの時刻を変更するためにtouch -t
を使用していましたが、touch
の日付/時刻の偽造に対する緩和策はありますか?
タッチを使用した後でも、元の作成日時をエコーするようなものです。
this stackoverflowの回答を参照してください:
debugfs
を使用して作成時間を取得できますが、そのためにはroot権限が必要です。また、すべてのファイルシステムがこれをindode構造に格納しているわけではないと思います。 iノードの変更時間(ctime)、ファイルの変更時間(mtime)、および最終アクセス時間(atimeであり、ファイルシステムがnoatime
でマウントされている場合、これが正しいとは限りません。 )。
ファイルの変更時間は、ファイルの所有者が自由に選択できます。ファイルのiノード変更時刻(ctime)を確認できます。これは、現在の時刻にのみ設定でき、mtimeの変更など、ファイルのメタデータを変更すると、ctimeが現在の時刻にリセットされます。
特定の日付以降にファイルが変更されていないかどうかを確認する場合は、そのctimeを確認できます。ただし、ctimeは、属性の変更、ファイルの移動またはコピー、バックアップからの復元など、悪意のない理由で最近のものになる可能性があります。
もちろん、rootユーザーは、システム時刻を変更するか、ファイルを直接操作することで、これを回避できます。
過去の特定の時点でのファイルの状態をテストする信頼できる方法は、その時点で作成されたスナップショットまたはバックアップを参照することです。