如何查找谁或什么(服务)在 Solaris 中删除了特定文件或文件夹?

如何查找谁或什么(服务)在 Solaris 中删除了特定文件或文件夹?

是否有任何工具或日志可以提供有关它的信息?此外,如果没有办法找出上述内容,那么...当某人或某些服务试图删除该文件夹时,我可以做些什么来通知我吗?

答案1

这个小小的 Dtrace 脚本将轻松记录系统中的每个文件删除:

dtrace -qn 'syscall::unlink*:entry { printf("%d, %s, %s\n", uid, execname, copyinstr(arg0));}
syscall::fsat:entry  /arg0 == 5 / { printf("%d, %s, %s\n", uid, execname, copyinstr(arg2));}'

答案2

据我所知,没有“开箱即用”的解决方案,但您可以使用事件驱动的文件观察器来观察文件系统事件(在其所在的目录中) - 然后查找与句柄匹配的有问题的程序。

如果您需要这样的应用程序,那么可能值得在 StackOverflow 上询问,因为您不是唯一有这种需求的人。

相关内容