linux文件被谁删除了

 如果你也有如标题所属的困扰。可以尝试一下linux audit功能。

1  是否能用

1.1 这个功能需要内核启用,要编译时打开了如下图所示的选项

 

1.2 启动内核的时候,也不能是关着的。(红框这行不能有)

 

1.3  服务是不是开着的 (下图就是内核选项没开时候的提示)

systemctl status auditd.service

 

1.4 是否被别人注册了

内核audit只能由一个用户态的程序,进行注册。如果被其他程序注册了,audit服务也是起不来的,可以用如下命令查看,是谁把服务给注册走了。

auditctl -s

我们这里的例子就是auditd注册的。如果是别人就能看见是别人,经常是一些EDR等安全软件。

 

2 添加规则

下面这个命令能查看现在生效的规则都要什么。

auditctl -l

下面这个命令,添加对文件/root/xx-test-deleted的什么。

auditctl -w /tmp/test -p wa -k /root/xx-test-deleted

 想要固化配置就把上述命令放到下面路径的文件里,不再赘述。

/etc/audit/rules.d/xxx.rules

 

3 查看审计记录

如下所示,会打印在日志文件中

[root@T19 rules.d]# tailf /var/log/audit/audit.log

type=SYSCALL msg=audit(1711001319.010:4640): arch=c000003e syscall=263 success=yes exit=0 a0=ffffffffffffff9c a1=21650c0 a2=0 a3=7fff577422a0 items=2 ppid=19270 pid=19941 auid=1000 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts2 ses=2 comm="rm" exe="/usr/bin/rm" subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key="xx-test-deleted"
type=CWD msg=audit(1711001319.010:4640): cwd="/root"
type=PATH msg=audit(1711001319.010:4640): item=0 name="/tmp/" inode=67160136 dev=fd:00 mode=041777 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:tmp_t:s0 objtype=PARENT cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0
type=PATH msg=audit(1711001319.010:4640): item=1 name="/tmp/test" inode=67166959 dev=fd:00 mode=0100644 ouid=0 ogid=0 rdev=00:00 obj=unconfined_u:object_r:user_tmp_t:s0 objtype=DELETE cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0
type=PROCTITLE msg=audit(1711001319.010:4640): proctitle=726D002D69002F746D702F74657374

 

posted on 2024-04-19 14:51  toong  阅读(156)  评论(0编辑  收藏  举报