为了保护我的项目文件不被未经授权的实体删除,我使用带有KAUTH_SCOPE_VNODE
选项的kauth_listen_scope
来添加新的回调函数,以防止其他人删除这些文件。
但是,似乎可以将这些文件从Finder
移动到废纸篓,因为它使用rename
系统调用。 此命令不会触发可以阻止的虚拟节点授权事件,只会触发 Fileop 事件(但这些事件仅用于检测(。
也许任何人都有另一种选择,可以做些什么来防止这种行为?
谢谢
因此,rename
系统调用似乎也通过虚拟节点授权。
但是,它不会请求对文件本身的授权,而是对其容器(父目录(请求授权。