服务器执行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
相关推荐
星驰云8 分钟前
记一次CentOS 硬盘损坏无法启动修复教程
linux·运维·centos
人工智能训练8 分钟前
windows系统中的docker,xinference直接运行在容器目录和持载在宿主机目录中的区别
linux·服务器·人工智能·windows·ubuntu·docker·容器
阿拉斯攀登19 分钟前
docker介绍
服务器·docker
q***474320 分钟前
Windows 和 Linux 系统下,如何查看 Redis 的版本号?
linux·windows·redis
代码对我眨眼睛28 分钟前
Ubuntu 系统 NVIDIA 显卡驱动自动化安装全流程
linux·ubuntu·自动化
xiong2learning28 分钟前
Linux虚拟机无法使用u盘的一种可能-- 重新下载open-vm-tools + open-vm-tools-desktop解决
linux
LCG元30 分钟前
实战:一次完整的网站故障排查记录(从用户访问到数据库)
linux
xuyanqiangCode35 分钟前
Ubuntu二进制安装Apache Doris(2.1版本)
linux·ubuntu·apache
ALex_zry36 分钟前
高并发系统渐进式改造技术调研报告:策略、架构与实战
java·运维·架构
Yue丶越38 分钟前
【Python】基础语法入门(四)
linux·开发语言·python