服务器执行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
相关推荐
千舟软件11 小时前
【宿舍管理小程序】新生入住不靠纸质表
大数据·运维·服务器·科技·业界资讯
酸菜。11 小时前
DW_apb_wdt总结
linux
虚无的纽扣11 小时前
【Linux】一篇文章带你吃透进程控制:fork、wait、exit到底在做什么
linux·ubuntu
raindayinrain11 小时前
Linux 网络编程--套接字选项
linux·网络·套接字选项
金士顿12 小时前
ASP.NET Core BackgroundService 深度解析:设备后台任务到底应该怎么设计
linux·嵌入式·asp.net core·arm64
j7~12 小时前
【Linux网络加餐课】(篇八)网络版计算器(终篇):守护进程、标准 IO 重定向与部署打包
linux·运维·网络编程·tcp·守护进程·io重定向·部署打包
Escalating_xu12 小时前
【Linux 多线程】自旋锁:从 atomic_flag 原子操作到 pthread_spin_* 与高竞争优化
linux·系统架构
kkkkkkkkkk_Z12 小时前
学嵌入式和Linux应用编程|学习日记:深入理解TCP协议与网络编程实战
linux·笔记·学习
海宇服务13 小时前
零信任架构实战:基于海宇公安二要素认证即时版构建自动化号码发卡网关
运维·人工智能·架构·自动化
蓝速科技13 小时前
数字人一体机芯片选型:RK3576 与 X86 场景化对比指南丨蓝速科技
大数据·运维·数据库·人工智能·科技