При исследовании работы разнообразных программ из интереса или же во время исследования проблемных ситуаций необходимо следить за файловой активностью. Ранее я описал использование DTrace, сейчас же кратко опишу две полезные утилиты, которые мне посоветовал .
fslogger
В книге была описана командно-строковая , написанная автором, позволяющая отслеживать различные изменения файловой системы, например:
- создание файлов и каталогов;
- удаление файлов и каталогов;
- изменения структуры stat (например, изменение разрешений);
- переименование файлов и каталогов;
- изменение содержимого;
- обмен содержимым между двумя файлами (это функция HFS+);
- изменение информации Finder;
- изменение владельца.
Пример работы утилиты:
ole-mac:~ ctrld$ sudo fslogger
Password:
fsevents device cloned (fd 4)
fslogger ready
=> received 654 bytes
# Event
type = FSE_CREATE_FILE
pid = 193 (iChatAgent)
# Details
# type len data
FSE_ARG_STRING 66 string = /Users/ctrld/Library/Caches/com.apple.iChat/Pictures/.dat00c1.055
FSE_ARG_DEV 4 dev = 0xe000002 (major 14, minor 2)
FSE_ARG_INO 4 ino = 2766443
FSE_ARG_MODE 4 mode = -rw-r--r-- (0x0081a4, vnode type VREG)
FSE_ARG_UID 4 uid = 501 (ctrld)
FSE_ARG_GID 4 gid = 20 (staff)
FSE_ARG_INT64 8 tstamp = 8200465994289
FSE_ARG_DONE (0xb33f)
# Event
type = FSE_CONTENT_MODIFIED
pid = 193 (iChatAgent)
# Details
# type len data
FSE_ARG_STRING 66 string = /Users/ctrld/Library/Caches/com.apple.iChat/Pictures/.dat00c1.055
FSE_ARG_DEV 4 dev = 0xe000002 (major 14, minor 2)
FSE_ARG_INO 4 ino = 2766443
FSE_ARG_MODE 4 mode = -rw-r--r-- (0x0081a4, vnode type VREG)
FSE_ARG_UID 4 uid = 501 (ctrld)
FSE_ARG_GID 4 gid = 20 (staff)
FSE_ARG_INT64 8 tstamp = 8200466392596
FSE_ARG_DONE (0xb33f)
fseventer
Компания fernLightning на основании идеи fslogger создала программу , которая в графическом виде показывает файловую активность. Программа бесплатная, но предлагает сделать добровольное пожертвование разработчикам. Функциональность видна по двум скриншотам:


