1.系统右击打开终端,确认是否开启auditd服务,命令如下:
systemctl status auditd 如果看到绿色的active(running)即为服务已开启2.在终端中输入以下命令确认服务是否开机自启:
systemctl is-enabled auditd 如果返回结果为enabled即为开机自启3、添加audit规则并存⼊规则表,此次以/home/kylin/app目录为例:
auditctl -a always,exit -F arch=b64 -S unlink -S unlinkat -S rmdir -S rename -S renameat -F dir=/home/kylin/app -k app_disappear_monitor命令解读:
设置audit监控路径为/home/kylin/app⽬录;当任何程序(64位)在
/home/kylin/app目录及其所有子目录下,执行删除文件、删除目录、移动/重命名文件或目录的操作时,审计系统都会记录一条日志,并打上app_disappear_monitor标签,方便后续追踪排查注意:这里我们用
-S unlink -S unlinkat -S rmdir -S rename -S renameat监控这5个系统调用,覆盖了"文件/目录消失"的所有底层操作。而不是使用-p设置监控权限r(读)w(写)x(执行)a (属性变更),是因为当业务跑起来时,任何业务的写入、执行等操作都会被记录,会产生大量的无用日志,占用较大的空间
4.终端执行以下命令,将对该目录的监控命令保存至配置文件中:
sed -i '$ a -a always,exit -F arch=b64 -S rename,rmdir,unlink,unlinkat,renameat -F dir=/home/kylin/app -F key=app_disappear_monitor' /etc/audit/audit.rules5.终端执行以下命令重启该服务:
systemctl restart auditd6.通过该命令可以查看是否配置生效:
auditctl -l 查看最后一行是否有-a always,exit -F arch=b64 -S rename,rmdir,unlink,unlinkat,renameat -F dir=/home/kylin/app -F key=app_disappear_monitor,有则代表配置成功7.当文件被删除的问题复现后,可以通过该命令查看日志:
ausearch -k app_disappear_monitor8.日志解读:
例1:执行rm -rf three删除文件,再通过ausearch -k app_disappear_monitor查看事件
事件背景
事件发生在
Thu Mar 26 17:32:20 2026,时间戳为1774517540.848。系统调用信息
- 系统调用类型:
syscall=263(对应unlinkat,用于删除文件或目录)。- 返回值:
success=yes且exit=0,表示操作成功。- 执行进程: 进程名为
rm,路径为/bin/rm,由用户uid=0(root)执行。操作行为
- 命令参数:
proctitle=726D002D7266007468726565该十六进制解码为rm -rf three,表示强制删除名为three的文件或目录。- 操作路径:当前工作目录为
/home/kylin/app/first,删除的目标是three(路径为/home/kylin/app/first/three)。文件信息
- 删除的文件:
name="three",类型为nametype=DELETE,表示被删除。- 文件权限为
0100644(普通文件,权限644),属主和属组均为root(ouid=0 ogid=0)。- 父目录:
name="/home/kylin/app/first",类型为PARENT,权限为040755(目录,权限755)。审计上下文
- 审计键:
key="app_disappear_monitor",表明此事件被特定的审计规则监控。- 用户会话:
- 用户
auid=1000(初始用户)通过sudo或su提权到root(uid=0)。- 会话 ID 为
ses=20,终端为pts1
例2:执行mv * /opt将app目录下的内容移至/opt目录下,再通过ausearch -k app_disappear_monitor查看事件
事件背景
日志记录了两条审计事件,时间戳均为
Thu Mar 26 17:42:30 2026,涉及mv命令的操作。用户kylin(UID=1000)通过sudo或类似方式以root身份(UID=0)执行了文件移动操作。第一条事件(ID: 312)
操作内容
- 命令:
mv first /opt
- 将文件
first从/home/kylin/app移动到/opt目录。- 文件
first的原始权限为040755(目录或可执行文件),属主和属组均为root。关键字段
SYSCALL:系统调用号为82(对应rename系统调用),操作成功(success=yes)。PATH:
item=3:新路径/opt/first被创建(nametype=CREATE)。item=2:旧路径first被标记为删除(nametype=DELETE)。- 父目录为
/opt/(权限040775)和/home/kylin/app(权限040755)。第二条事件(ID: 313)
操作内容
- 命令:
mv hello /opt
- 将文件
hello从/home/kylin/app移动到/opt目录。- 文件
hello的权限为0100644(普通文件,权限644),属主和属组均为root。关键字段
SYSCALL:同样使用rename系统调用,操作成功。PATH:
item=3:新路径/opt/hello被创建。item=2:旧路径hello被标记为删除。- 父目录与第一条事件相同。