文件删除监控:
#include <linux/sched.h>
#include <linux/dcache.h>
BEGIN
{
printf("%-15s %-10s %-20s %-20s %10s %s\n","TIME", "USERNAME", "PID","COMM", "PPCOMM", "FNAME");
}
tracepoint:syscalls:sys_enter_unlinkat,tracepoint:syscalls:sys_enter_unlink
{
$pp = curtask->real_parent;
time("%H:%M:%S\t");
printf("%-10s %-10u %-10u %-20s %-20s %s ", username, uid, pid, comm, $pp->comm, str(args->pathname));
$ppp = $pp->parent;
printf("%-10s\n", $ppp->comm);
}
Kprobe 版:
#include <linux/dcache.h>
kprobe:vfs_unlink {
printf("%-10s %-10u %-10u %-20s %s\n", username, uid, pid, comm, str(((struct dentry *)arg1)->d_name.name))
}
kprobe:vfs_rmdir {
printf("%-10s %-10u %-10u %-20s %s\n", username, uid, pid, comm, str(((struct dentry *)arg1)->d_name.name))
}
参考:https://blog.51cto.com/helloween/5011426