我研究了File System Events和 Kernel 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/