Kann es so aussehen, als sei eine Datei vor ihrer Erstellung verändert worden?

Kann es so aussehen, als sei eine Datei vor ihrer Erstellung verändert worden?

Ist es möglich, dass eine Datei ein Änderungsdatum hat, das vor dem Erstellungsdatum liegt? Welche Aktionen könnten dieses Ereignis auslösen?

Antwort1

Wenn Sie eine Datei von Grund auf neu erstellen, erhält sie eine Erstellungszeit von „jetzt“ und ein Änderungsdatum von „jetzt“. Stellen Sie sich nun vor, Sie kopieren diese Datei auf ein anderes Laufwerk. Windows behält die Änderungszeit bei, aber die Erstellungszeit dieser Datei wird auf die Zeit gesetzt, zu der Sie die Datei auf dieses Laufwerk kopiert haben (d. h. die Zeit, zu der die Datei erstellt wurdeDasLaufwerk). So einfach ist das.

Es ist tatsächlich richtig:

  • Der Zeitpunkt der letzten Änderung des Dateiinhalts wird im Änderungszeitpunkt gespeichert.
  • In der Erstellungszeit wird der Zeitpunkt der Erstellung der Datei auf genau diesem Laufwerk gespeichert.

Antwort2

Unter Windows ist es sehr einfach, die Erstellungs- und Änderungszeiten einer Datei einzustellen (oder zu fälschen). Sie müssen dazu die Uhr des Computers nicht ändern und benötigen nicht einmal lokalen Administratorzugriff. Alles, was Sie benötigen, ist Schreibzugriff auf die betreffende Datei.

So legen Sie die Erstellungszeit einer Datei mit PowerShell fest:SetCreationTime:

[System.IO.File]::SetCreationTime("C:\path\to\file.ext", (Get-Date "8/8/2088"))

So legen Sie die letzte Änderungszeit fest:SetLastWriteTime:

[System.IO.File]::SetLastWriteTime("C:\path\to\file.ext", (Get-Date "7/4/1776"))

Unter Linux können Sie den Zeitpunkt der letzten Änderung einer Datei ganz einfach mit dem -dFlag von ändern touch, wie in gezeigt.diese Frage-Ubuntu-Antwort. Es gibt kein wirkliches Konzept eines Erstellungsdatums für Dateien auf Linux-Dateisystemen (weiterführende Literatur unter Unix & Linux).

Antwort3

Stellen Sie sich ein extrahiertes .tar-Archiv vor. Normalerweise wird den extrahierten Dateien ein Zeitstempel der letzten Änderung aus dem Archivinhalt zugewiesen (der normalerweise in der Vergangenheit liegt, es sei denn, Sie sind ein Zeitreisender). Was das Dateisystem betrifft, wurden diese Dateien jedoch gerade erst erstellt.

Es gibt auch Dienstprogramme, um die Änderungszeit vorhandener Dateien zu ändern. Unter Linux ist dies beispielsweise dasberührenBefehl.

Antwort4

Das Wichtigste, was man hier beachten sollte, ist, dass die Änderungszeit einer Datei nichts Besonderes ist - sie wird wie alle anderen Daten gespeichert. Es gibt keine Möglichkeit, zu sagen, wann DatenGenau genommenzuletzt beschrieben oder gelesen.

Daraus können wir ersehen, dass es immer möglich ist (mit Ausnahme einmal beschreibbarer Medien wie einer CD), die Bits auf einem Laufwerk, die die letzte Änderungszeit oder sogar die Erstellungszeit speichern, direkt zu ändern.

Praktischer ist dies auch innerhalb gängiger Betriebssysteme möglich, wie in anderen Antworten erwähnt wurde. Unter Windows wird dies durch die WinAPI bereitgestellt.SetFileTimeFunktion, und Sie können dies tun mitutimeunter Linux. Tools wie touchbauen auf diesen APIs auf.

Der häufigste legitime Einsatzzweck dieser APIs besteht in der Beibehaltung der Änderungszeit, z. B. beim Kopieren von Dateien, Extrahieren aus Archiven usw.

verwandte Informationen