我有一台 Linux 服务器(Azure 上的 VM),只有 4 个人可以访问,而且没有人在上面做任何事情。但是,有些文件不断从某些文件夹中消失。
有人可以帮我找出原因和方法吗?我应该在终端上使用什么命令?我对Linux不太了解,所以问这个问题。
答案1
$ systemctl enable auditd
将其用于/etc/audit/rules.d/audit.rules
文件:
## First rule - delete all
-D
## Increase the buffers to survive stress events.
## Make this bigger for busy systems
# -b 8192
# set from 8k to 1mb
-b 1048576
# 2 is shutdown, 1 is runlevel 1
-f 1
-a always,exit -F arch=b32 -S unlink -F auid>=1000 -F auid!=unset -k delete
-a always,exit -F arch=b64 -S unlink -F auid>=1000 -F auid!=unset -k delete
-a always,exit -F arch=b32 -S unlink,unlinkat,rename,renameat,rmdir -F auid>=1000 -F auid!=unset -k delete
-a always,exit -F arch=b64 -S unlink,unlinkat,rename,renameat,rmdir -F auid>=1000 -F auid!=unset -k delete
-w /etc/passwd -p wa -k watchXXX
$ service auditd restart
然后检查/var/log/audit/audit.log
您的文件何时以及如何被删除的指示。搜索audit.log
per delete
the -k delete
flag。如果适合您,请更改delete
to的语法,DELETEXYZ
以便更容易在audit.log 中查找。
您还可以通过使用 来监视-w
并标记这些审计记录 -k watchXYZ
。
解析audit.log 说起来容易做起来难,但是如果您只是在规则文件中搜索delete
标签,那么与您的文件/文件夹删除有关的数据将/应该在其中。-k delete
笔记:如果您什么也没得到,请删除或调整-F auid>=1000 -F auid!=unset
,但要准备好在很短的时间内处理大量的audit.log。