Включили ли вы время последнего доступа? По умолчанию он отключен, начиная с Vista++, по соображениям производительности.
Я вижу этот вопрос много. Я всегда говорю людям, чтобы они работали над Technet и читали документацию по NTFS.
http://technet.microsoft.com/en-us/library/cc781134(WS.10).aspx
Обратите внимание, что NTFS не сразу записывает LAT на диск. Как правило, он будет ждать, пока разница составит час, или просто сам внесет изменения в этот файл. Однако запросы на основе файлов будут правильными.
Это не инструмент аудита. Будут случаи, когда NTFS не будет обновлять LAT за счет производительности. Если вы ищете инструмент аудита, я бы посоветовал вам включить локальный аудит безопасности. Он будет регистрировать весь доступ к файлу, в отличие от LAT. Например, вы можете использовать множество API-вызовов, которые не влияют на LAT.
Изменить ответ на комментарий ниже.
Буду читать это - но а) я на самом деле больше всего беспокоился о LMT и б) даже размер и содержимое файла не изменились - может ли это зависеть от программы? Это определенно не должно. Я начинаю ценить Unix и узлы i здесь - РЕДАКТИРОВАТЬ: размер и время не должны распространяться (требуется подтверждение), но содержимое должно
В статье конкретно рассматриваются ваши точные проблемы. Я процитирую статью. Акцент был добавлен мной.
Содержимое файла должно было измениться, иначе вы сделали это неправильно.
Поскольку жесткая ссылка является записью каталога для файла, приложение может изменить файл, используя любую из своих жестких ссылок. Приложения, использующие любую другую жесткую ссылку, могут обнаружить изменения.
Однако записи каталога для жестких ссылок обновляются только тогда, когда пользователь обращается к файлу с помощью жесткой ссылки. Например, если пользователь открывает и изменяет файл, используя его жесткую ссылку, а размер исходного файла изменяется, жесткая ссылка, используемая для доступа к файлу, также показывает новый размер.
Таким образом, хотя сам файл был изменен, соответствующие записи каталога не будут обновлены, если к ним нет доступа. Так что если у вас есть текстовый файл, открытый через две соответствующие жесткие ссылки, то обе записи каталога будут изменены. Теперь, если файл открыт только через жесткую ссылку A, жесткая ссылка B не будет обновлена. Файл будет иметь все изменения, которые вы сделали. Но опять же, жесткие ссылки являются записями каталога, и NTFS не обновляет запись каталога, если вы ее не используете. Это было бы пустой тратой ввода / вывода.
Теперь я предполагаю, что вы смотрите на все это через Проводник. Explorer отображает информацию, очень похожую на ввод dir в строке cmd. Список каталогов - это просто список. Однако чтение списка каталогов не дает доступа к файлу, что важно. В противном случае получение списка каталогов приведет к изменению времени последнего доступа к файлу !! Таким образом, вы получите устаревшую информацию, если есть жесткая ссылка. Вы можете заставить Проводник получить доступ к файлу, щелкнув правой кнопкой мыши и сказав, проверьте вкладку сведений. Или просто открыть файл.
Edit3
не совсем получая разницу - при нажатии ^ c, затем ^ v в файле foo.txt (таким образом, windows создает файл типа foo - Copy.txt и помещает его в текущий каталог) - это копирование в каком смысле?
Это было сложно, потому что я понятия не имею, как Explorer обрабатывает копирование существующего файла в его текущий каталог. Так что я должен был проверить это. Похоже, что Explorer копирует целевой файл источника, независимо от того, является ли исходный файл жесткой или символической ссылкой.
Explorer не имеет очень детального контроля и поддержки символических и жестких ссылок. Теперь можно скопировать саму ссылку, если вы выполните "mklink /h Foo1.txt Foo.txt"
. Это создает новую жесткую ссылку с именем Foo1.txt
. Вы не можете сделать это в Explorer, хотя. Я предлагаю вам получить расширение Link Shell. Он накладывает ссылки на пользовательские значки стрелок, перечисляет цели и позволяет явно создавать символические и жесткие ссылки.
Edit4
в соответствии с surfasb я правильно понимаю это - ограничение файловой системы - теперь я ценю концепцию inode.
Во всяком случае - странная вещь - это не всегда так - иногда изменение атрибутов сразу видно обратно в исходный файл - когда есть изменения - моя настоящая проблема сейчас в том, что по крайней мере одна программа, которую я использую, кажется, не редактирует файл связан, но только жесткая ссылка. Возможный ? dir /a не показывает много о жестких ссылках - любой способ видеть их
Я не помню, чтобы видеть эту часть вашего вопроса. Меня интересует программа, которая не редактирует связанный файл. Какая это программа?
dir /a
не будет обновлять записи каталога. Это сделано специально, потому что это будет довольно интенсивно работать.