服务器执行rm命令时自动记录到审计日志中

目的

当在服务器上执行类似于 rm 命令时,自动记录该命令执行的时间,在哪里执行的,删除的什么文件,记录到审计日志中,能够查找到某些文件丢失原因

配置

bash 复制代码
# 需要root权限,sudo不行,这里假设执行 rm
auditctl -w /usr/bin/rm -p x -k rm-logs
auditctl -w /usr/local/bin/rm -p x -k rm-logs
auditctl -w /usr/bin/touch -p x -k touch-log

# 查看配置的审计规则
auditctl -l

# -w:表示要监视的文件或目录路径。在这种情况下,/bin/rm 是要监视的可执行文件的路径。
# /usr/bin/rm:指定要监视的文件或目录的路径。在这里,它是rm命令的完整路径。
# -p x:表示要监视的操作权限。在这种情况下,x 表示执行权限,即当 rm 命令被执行时触发审计规则。
# -k rm-logs:指定生成的审计事件的键名(key name)。这个键名用于在审计日志中标识与此规则相关的事件。在这里,rm-logs 是键名。

测试

测试root账号执行删除命令

bash 复制代码
# 用root账号,先创建一个文件
touch test.txt
# 再删除一个文件
rm -f test.txt
# 查看审计日志
vim /var/log/audit/audit.log

测试普通账号执行删除命令

bash 复制代码
# 切换普通用户
su - test
# 创建一个文件夹
mkdir aaaaaa
# 删除一个文件夹
rm -rf aaaaaaa
# 查看审计日志
sudo /var/log/audit/audit.log
相关推荐
森G8 分钟前
七、04ledc-sdk--------makefile有变化
linux·c语言·arm开发·c++·ubuntu
驱动探索者13 分钟前
linux mailbox 学习
linux·学习·算法
alice--小文子18 分钟前
cursor-mcp工具使用
java·服务器·前端
lpruoyu33 分钟前
【Docker进阶-06】docker-compose & docker swarm
运维·docker·容器
China_Yanhy1 小时前
入职 Web3 运维日记 · 第 8 日:黑暗森林 —— 对抗 MEV 机器人的“三明治攻击”
运维·机器人·web3
艾莉丝努力练剑1 小时前
hixl vs NCCL:昇腾生态通信库的独特优势分析
运维·c++·人工智能·cann
酉鬼女又兒1 小时前
每天一个Linux命令_printf
linux·运维·服务器
翼龙云_cloud1 小时前
国际云代理商:2026年国际云注册风控升级实战指南 8 大平台无卡解决方案对比
服务器·阿里云·云计算
虾说羊1 小时前
docker容器化部署项目流程
运维·docker·容器
Trouvaille ~1 小时前
TCP Socket编程实战(三):线程池优化与TCP编程最佳实践
linux·运维·服务器·网络·c++·网络协议·tcp/ip