Linux 文件监控之谁动了我的奶酪
有时候配置文件会被莫名其妙的修改,但是找不到修改他的进程,从而无法抓住罪魁祸首,这时候就诞生了摄像头。呃呃,应该是audit
比如我要监控一个文件test.txt
[root@hsun /]# auditctl -w /audit/
[root@hsun /]# auditctl -l
(null): exit,always dir=/audit perm=rwxa
查询确认有规则添加。
然后再audit目录创建test.txt,向文件写内容。
[root@hsun audit]# ausearch -f test.txt
----
time->Fri Jul ::
type=UNKNOWN[] msg=audit(1564139108.755:): proctitle=746F75636800746573742E747874
type=PATH msg=audit(1564139108.755:): item= name="test.txt" inode= dev=fd: mode= ouid= ogid= rdev=: objtype=CREATE
type=PATH msg=audit(1564139108.755:): item= name="/audit" inode= dev=fd: mode= ouid= ogid= rdev=: objtype=PARENT
type=CWD msg=audit(1564139108.755:): cwd="/audit"
type=SYSCALL msg=audit(1564139108.755:): arch=c000003e syscall= success=yes exit= a0=7fffec3dd1ba a1= a2=1b6 a3=7fffec3dad40 items= ppid= pid= auid= uid= gid= euid= suid= fsuid= egid= sgid= fsgid= tty=pts0 ses= comm="touch" exe="/usr/bin/touch" key=(null) ...
...
...
time->Fri Jul ::
type=UNKNOWN[] msg=audit(1564139120.915:): proctitle="-bash"
type=PATH msg=audit(1564139120.915:): item= name="test.txt" inode= dev=fd: mode= ouid= ogid= rdev=: objtype=NORMAL
type=PATH msg=audit(1564139120.915:): item= name="/audit" inode= dev=fd: mode= ouid= ogid= rdev=: objtype=PARENT
type=CWD msg=audit(1564139120.915:): cwd="/audit"
type=SYSCALL msg=audit(1564139120.915:): arch=c000003e syscall= success=yes exit= a0=24cab90 a1= a2=1b6 a3= items= ppid= pid= auid= uid= gid= euid= suid= fsuid= egid= sgid= fsgid= tty=pts0 ses= comm="bash" exe="/usr/bin/bash" key=(null)
[root@hsun audit]#
我们主要关注里面的 comm="bash" exe="/usr/bin/bash" key=(null),这两个字段,通过这两个字段我们就知道是什么命令操作了我们的文件或目录。
如果需要删除这条规格,可以使用以下命令,
[root@hsun audit]# auditctl -W /audit/
[root@hsun audit]# auditctl -l
No rules
也就是使用小写的w添加规则,大写的W删除规则。
然后就能查看到什么进程动了这个文件。
Linux 文件监控之谁动了我的奶酪的更多相关文章
- Linux文件监控
关键词:linux, 监控 假设要让server保持最佳性能,你应该将 Linux server的执行级别 runlevel 设置为 3 .就是控制台模式.当你须要图形化桌面的时候使用 startx ...
- ctf比赛linux文件监控和恢复shell
之前参加ctf比赛时候临时写的,有很多不足,不过可以用,就贴出来分享给大家,希望对大家有帮助. 脚本一:记录当前目录情况 #!/bin/bashfunction getdir(){ for el ...
- 针对Linux 文件完整性监控的实现
针对Linux 文件完整性监控的实现 摘要 计算机和互联网是20世纪以来最伟大的发明之一,随着计算机技术的不断发展,人们的生活方式发生了巨大的变化.计算机和互联网的发展给人们的生产生活带来了极大的便利 ...
- zabbix监控linux文件的一个目录大小
监控linux文件的一个目录大小 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 欢迎加入:高级运维工程师之路 598432640 我们知道,Linux自带的一些监控模板 ...
- Linux下日志文件监控系统Logwatch的使用记录
Linux下日志文件监控系统Logwatch的使用记录 原文:http://www.cnblogs.com/kevingrace/p/6519504.html 在维护Linux服务器时,经常需要查看系 ...
- /var/log/messages文件监控
近来项目中遇到一个问题,情况是这样的,我们使用ELK中的LOGSTASH来监控LINUX的系统日志文件:/var/log/messages文件,但这个文件默认的权限是600,这样很为难, 我们使用特定 ...
- linux上监控tomcat down掉后自动重启tomcat
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Helvetica Neue"; color: #454545 } p. ...
- [转]linux 系统监控、诊断工具之 IO wait
1.问题: 最近在做日志的实时同步,上线之前是做过单份线上日志压力测试的,消息队列和客户端.本机都没问题,但是没想到上了第二份日志之后,问题来了: 集群中的某台机器 top 看到负载巨高,集群中的机器 ...
- linux 进程监控
linux 进程监控 supervise Supervise是daemontools的一个工具,可以用来监控管理unix下的应用程序运行情况,在应用程序出现异常时,supervise可以重新启动指定程 ...
随机推荐
- python安装 错误 “User installations are disabled via policy on the machine”
解决方法一: 1.在运行里输入 gpedit.msc 2.计算机配置管理>>管理模板>>windows组件>>windows Installer>> ...
- 使用HOSTNAMECTL配置主机名
hostnamectl工具是用来管理给定主机中. 查看所有主机名 请运行下面的命令查看所有当前主机名: 〜] $ hostnamectl status 如果未指定任何选项,默认则使用status选项对 ...
- 字符串A转换到字符串B,只能一次一次转换,每次转换只能把字符串A中的一个字符全部转换成另一个字符,是否能够转换成功
public class DemoTest { public static void main(String[] args) { System.)); } /** * 有一个字符串A 有一个字符串B ...
- 一定要记住的14个JVM内存配置参数
jvm setting的参数确实比较多(Oracle官网Java HotSpot VM Options),但是作为一名java开发者,那几个最常用最基本的参数设置和意义一定要死记和理解.这里推荐一个网 ...
- 小白的C++之路——简易计算机
#include <iostream> using namespace std; int main() { char link; double num1, num2,num3; cout ...
- centos设置IP
centos设置IP 原由:虚拟机里安装了很多软件,每天要使用,原来使用的动态IP,而且很长时间也没变,一直使用的很好,忽然一天访问不了了,找了几次才发现动态IP地址变了,这些后决定将虚拟机的IP地址 ...
- Label&Button
Button中的bg参数设置按钮背景颜色,fg参数设置字体颜色 pack中的fill参数告诉Packer让QUIT按钮占据剩余的水平空间,而expand参数则引导它填充整个水平可视空间,将按钮拉伸到左 ...
- Java Web报错:The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
问题描述: 我们在用Eclipse进行Java web开发时,可能会出现这样的错误:The superclass javax.servlet.http.HttpServlet was not foun ...
- redis 缓存穿透、击穿、雪崩
缓存穿透: 大量查询 redis 中不存在的key(用随救数进行查询),导致每次都会去查询数据库,造成数据库压力过大(甚至宕机). 解决办法: 1.对我们的 api 接口 进行限流处理.用户授权.黑名 ...
- Java数据结构-ArrayList最细致的解析笔记
ArrayList是一个类,这个类有一个数组参数elementData,ArrayList集合中的元素正是保存在这个数组中,它继承了数组查询的高性能,参考第3篇.ArrayList还封装了很多方法,便 ...