fanotify 可以在其他应用程序访问之前修改文件吗?

fanotify 可以在其他应用程序访问之前修改文件吗?

根据,fanotify 具有“在其他应用程序访问之前读取或修改文件的可能性”。但是,我找不到任何示例来说明如何做到这一点。据我了解,fanotify用于事件监听,只能修改fanotify标记。

所以我的问题是 fanotify 可以修改文件吗?如果是的话,该怎么办?

答案1

fanotify 的用户可以在应用程序访问该文件之前修改该文件。但这不会通过 fanotify 发生。您访问并修改实际文件,而不是向应用程序呈现不同的视图。

当您通过 fanotify 获取权限事件时,文件访问操作将保持阻塞状态,直到您回复 fanotify 接口为止。当应用程序被阻止时,您可以执行任何您想做的操作,包括读取和修改应用程序想要访问的文件。一旦您发回对 fanotify 权限事件的响应(假设这是肯定响应),应用程序将访问该文件并发现它处于您可能已修改的状态。

请注意,只有open( 和access) 触发权限事件,而不是readwrite。所以用fanotify,可以拦截文件打开,但只能监听后续对文件数据的访问。

相关内容