Возможно ли иметь файл с измененной датой, предшествующей дате его создания? Какие действия могут вызвать это событие?
metadata
file-attributes
AlexanderRD
источник
источник
Ответы:
Рассмотрим архив .tar, который извлечен. Как правило, извлеченные файлы будут иметь метку времени последнего изменения, назначенную из содержимого архива (что обычно в прошлом, если вы не путешественник во времени). Что касается файловой системы, то эти файлы только что были созданы.
Существуют также утилиты для изменения времени модификации существующих файлов, например, в Linux это команда touch .
источник
cp -p
и для вещей, которые имитируют его, какrcp -p
иscp -p
, а такжеrsync
с-t
или-a
, берет modtime из источника.Если вы создаете файл с нуля, он получает время создания «сейчас» и дату изменения «сейчас». Теперь представьте, что вы копируете этот файл на другой диск. Windows сохранит время изменения, но время создания этого файла будет равно времени, когда вы скопировали файл на этот диск (то есть время, когда файл был создан на этом диске). Просто как тот.
Это на самом деле правильно:
источник
В Windows очень легко установить (фальсифицировать, если хотите) время создания и изменения файла. Вам не нужно менять часы компьютера; вам даже не нужен локальный доступ администратора. Все, что вам нужно, это доступ на запись к рассматриваемому файлу.
Чтобы установить время создания файла с помощью PowerShell, используйте
SetCreationTime
:Чтобы установить время последнего изменения, используйте
SetLastWriteTime
:В Linux вы можете легко изменить время последнего изменения файла с
-d
флагомtouch
, как показано в этом ответе Ask Ubuntu . На самом деле нет понятия даты создания файлов в файловых системах Linux ( дальнейшее чтение в Unix & Linux ).источник
Да. В Windows внесите изменения в файл и сохраните его. Теперь скопируйте файл. Посмотрев на свойства копии, вы увидите, что она имеет более раннюю дату изменения.
источник
Здесь важно отметить, что время модификации файла не является особенным - оно хранится так же, как и любые другие данные. Там нет никакого способа узнать , когда данные были фактически последней записи или чтения с.
Отсюда мы видим, что всегда можно (за исключением носителя с однократной записью, например, компакт-диска) перейти и напрямую изменить биты на диске, которые хранят время последнего изменения или даже время создания.
На практике это также выполнимо из обычных операционных систем, как отмечалось в других ответах. В Windows это обеспечивается
SetFileTime
функцией WinAPI , и вы можете сделать этоutime
в Linux. Такие инструменты, какtouch
строить на основе этих API.Наиболее распространенным законным использованием этих API-интерфейсов является сохранение времени модификации, например, при копировании файлов, извлечении их из архивов и т. Д.
источник
По моему опыту, это было, когда один или несколько компьютеров были использованы для изменения файла, и один из них имеет неправильное системное время. Три наиболее распространенные причины неправильной работы системного времени:
источник