macos - 如何在 OSX 中监视文件打开和文件读取事件

标签 macos dtrace fsevents

我研究了File System EventsKernel Queues以确定如何监视事件。不幸的是,这些只允许在修改、重命名或删除事件(更新状态的事件)时通知。我需要在文件打开或文件读取事件(对于当前用户)时获得回调。我了解没有适当权限的文件的事件将无法访问。

任何指示都会有所帮助。

注意:DTrace 是不可能的,因为系统完整性保护会禁用 DTrace,而且我没有禁用系统完整性保护的选项

最佳答案

在 macOS >=10.11

在 macOS >= 11 中,您可以使用 Endpoint Security System Extension。参见 Apple Docs和“使用 Endpoint Security 监控系统事件”的“AUTH”版本 Apple sample code .


在 macOS 10.4-10.10 中

在 macOS 10.4-10.10 中,使用 Kernel Extension 使用 Kernel Authorization。参见 archived Apple docs还有这个Apple sample code .

关于macos - 如何在 OSX 中监视文件打开和文件读取事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37606513/

相关文章:

Javascript/jQuery HasLoaded 或等价物?

macos - 为什么 lsyncd 需要 xnu?

regex - 类似 Perl 的速记字符类在括号表达式中不起作用

c - 如何使用 dtrace 查看调用堆栈

cocoa - FSEvents 神秘地无法传递某些文件夹中的事件

macos - 如何在不以 root 身份运行的情况下从一开始就跟踪程序

linux - ltrace 等同于 osx?

python - OS X 10.10.3 launchctl 权限被拒绝

ruby-on-rails - 在 Mac 和 Linux 机器上创建等效的 Rails 工作区

objective-c - Cocoa 检查函数是否存在