Skip to content

Mac times

The term MAC times refers to the timestamps of the latest modification (mtime) or last written time, access (atime) or change (ctime) of a certain file.

Windows or creation (crtime) time (e.g. 'This file was created on 05/05/02 12:15pm'). Hence MACB; Modification, Access, Change and Birth.

Unix systems maintain the historical interpretation of ctime as the time when certain file metadata, not its contents, were last changed, such as the file's permissions or owner (e.g. 'This files metadata was changed on 05/05/02 12:15pm'). Though POSIX only specifies mtime, atime and ctime, some Unix-like systems also implement btime on compatible file systems (for instance ext4 on Linux distributions, UFS2 on FreeBSD).

In both NTFS and ReFS each file has a time stamp for 'Create', 'Modify', 'Access', and 'Entry Modified'. The latter refers to the time when the MFT entry itself was modified. These four values are commonly abbreviated as the 'MACE' values.

Other file systems like HFS include different timestamps like e.g. a backup time.

Time resolution

When dealing with MAC times it's important to know and understand the concept of time resolution.

On FAT:

  • the creation time has a resolution of 10 milliseconds,
  • the last written time has a resolution of 2 seconds,
  • and the access time has a resolution of 1 day.1

On NTFS file system:

  • the creation time and the last written time have a resolution of 100 nanoseconds.
  • the access time also has a resolution of 100 nanoseconds, but updates to access time could be held in memory by up to an hour before being flushed to the disk.2

Tampering of filetimes can usually be detected by an absence of sub-second resolution on any of the timestamps.3

Access Time Update

On various operating systems the update of the access time can be disabled. This means when a file is accessed the atime in the corresponding file system entry is not updated.

Windows

In Windows the access time behavior is controlled by the Registry key:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem\NtfsDisableLastAccessUpdate

Where a value of 1 indicates the access time update being disabled.

In Windows XP and earlier, the default value is 0 (enabled), and in Windows Vista onwards, the default value is 1 (disabled).

Note that in Windows 10 “Redstone 4” (April 2018 Update) the behavior of this setting was extended 1

When disabled, the access time is usually initialized to the time the file was first written to the disk, following the rules seen below:

Condition Modified Accessed Created
When renaming a file Preserved Preserved Preserved
When moving a file between folders Preserved Preserved Preserved
When moving a file between disks or partitions Preserved Time of move Preserved
When copying a file Preserved Time of copy Time of copy
When writing a new file Time of creation Time of creation Time of creation
When modifying an existing file Time modified Preserved Preserved
When accessing an existing file Preserved Updated within an hour if enabled, otherwise Preserved Preserved

Linux

In Linux the noatime mount option indicates the access time update should be disabled.

See Also

NTFS