Тема похожа на боян, но внятного пока нашел не много...
Задача такова: есть файлсервер, нужно на набор папок на нем завесить мониторинг, который бы писал что какой пользователь делал с файлом (чтение, переименование, изменение, удаление). Тоесть писать в лог-файл кто и что с каким файлом делал.
Скажем с помощью ReadDirectoryChangesW и FindFirstChangeNotification/FindNextChangeNotification можно отловить события по изменению в указанной директории. А вот как узнать кто? Есть исходники подобных разработок, или хотя бы намеки как это делать =)
_>Скажем с помощью ReadDirectoryChangesW и FindFirstChangeNotification/FindNextChangeNotification можно отловить события по изменению в указанной директории.
ReadDirectoryChanges не для этого, он для задач вроде эксплорера, которому нужно обновлять содержимое папки когда оно меняется.
Надёжно следить за изменениями на диске лучше с помошью USN Journal.
_>как узнать кто?
Этого к сожалению в USN журнале нет.
Самый простой способ — аккуратно настройте виндовый аудит при помощи local security policy, потом программно читайте security event log.
Можете написать filter driver, аналогичный procexp.sys используемый в sysinternals proc.mon, но это намного сложнее.
Здравствуйте, Константин, Вы писали:
_>>Скажем с помощью ReadDirectoryChangesW и FindFirstChangeNotification/FindNextChangeNotification можно отловить события по изменению в указанной директории. К>ReadDirectoryChanges не для этого, он для задач вроде эксплорера, которому нужно обновлять содержимое папки когда оно меняется. К>Надёжно следить за изменениями на диске лучше с помошью USN Journal.
_>>как узнать кто? К>Этого к сожалению в USN журнале нет.
К>Самый простой способ — аккуратно настройте виндовый аудит при помощи local security policy, потом программно читайте security event log.
К>Можете написать filter driver, аналогичный procexp.sys используемый в sysinternals proc.mon, но это намного сложнее.
Спасибо за совет.
Попробую покопать в этом направлении.