有时候配置文件会被莫名其妙的修改,但是找不到修改他的进程,从而无法抓住罪魁祸首,这时候就诞生了摄像头。呃呃,应该是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 文件监控之谁动了我的奶酪的更多相关文章

  1. Linux文件监控

    关键词:linux, 监控 假设要让server保持最佳性能,你应该将 Linux server的执行级别 runlevel 设置为 3 .就是控制台模式.当你须要图形化桌面的时候使用 startx ...

  2. ctf比赛linux文件监控和恢复shell

    之前参加ctf比赛时候临时写的,有很多不足,不过可以用,就贴出来分享给大家,希望对大家有帮助. 脚本一:记录当前目录情况 #!/bin/bashfunction getdir(){    for el ...

  3. 针对Linux 文件完整性监控的实现

    针对Linux 文件完整性监控的实现 摘要 计算机和互联网是20世纪以来最伟大的发明之一,随着计算机技术的不断发展,人们的生活方式发生了巨大的变化.计算机和互联网的发展给人们的生产生活带来了极大的便利 ...

  4. zabbix监控linux文件的一个目录大小

    监控linux文件的一个目录大小 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.       欢迎加入:高级运维工程师之路 598432640 我们知道,Linux自带的一些监控模板 ...

  5. Linux下日志文件监控系统Logwatch的使用记录

    Linux下日志文件监控系统Logwatch的使用记录 原文:http://www.cnblogs.com/kevingrace/p/6519504.html 在维护Linux服务器时,经常需要查看系 ...

  6. /var/log/messages文件监控

    近来项目中遇到一个问题,情况是这样的,我们使用ELK中的LOGSTASH来监控LINUX的系统日志文件:/var/log/messages文件,但这个文件默认的权限是600,这样很为难, 我们使用特定 ...

  7. linux上监控tomcat down掉后自动重启tomcat

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Helvetica Neue"; color: #454545 } p. ...

  8. [转]linux 系统监控、诊断工具之 IO wait

    1.问题: 最近在做日志的实时同步,上线之前是做过单份线上日志压力测试的,消息队列和客户端.本机都没问题,但是没想到上了第二份日志之后,问题来了: 集群中的某台机器 top 看到负载巨高,集群中的机器 ...

  9. linux 进程监控

    linux 进程监控 supervise Supervise是daemontools的一个工具,可以用来监控管理unix下的应用程序运行情况,在应用程序出现异常时,supervise可以重新启动指定程 ...

随机推荐

  1. EF Core使用遇到的问题

    目录 EF Core速度问题 问题描述 EF使用方法1,每一行存储一次(400条/s) EF使用方法2,链接不释放 (40条/s) EF使用方法3,多次add,一次SaveChanges(400条/s ...

  2. Java 8并行流的性能陷阱

    并行化流被分成多个块,每个块独立处理,结果在最后汇总. CPU密集型代码如下: private long countPrimes(int max) {     return range(1, max) ...

  3. PHP防止被重复请求接口的方法(网页端签名验证的方法)

    PHP防止被重复请求接口的方法(网页端签名验证的方法) 可以采取签名验证的方式来 解决这个问题 1 time和随机数都是PHP生成的显示在前端 2 前端生成sign 3 进行每次请求的sign计数 这 ...

  4. dd命令的使用

    1.dd命令的使用 dd命令用于复制文件并对源文件的内容进行转换和格式化处理,在有需要的时候可以使用dd命令对物理磁盘进行操作,使用dd对磁盘操作时,最好使用块设备文件. (1)命令语法 dd (选项 ...

  5. springboot异步线程

    前言 最近项目中出现了一个问题,发现自己的定时器任务在线上没有执行,但是在线下测试时却能执行,最后谷歌到了这篇文章SpringBoot踩坑日记-定时任务不定时了?; 本篇文章主要以自己在项目中遇到的问 ...

  6. Python列表添加元素

    Python列表添加元素 1.appent() 在列表尾部添加一个元素 >>>my_list.append("append方法") >>>my_ ...

  7. kie-api介绍和使用

    参考:KIE kie在drools jbpm uberfire里广泛被使用,下面对kie-api中的几个重要组件做下简单介绍 maven依赖 <dependency> <groupI ...

  8. idea中的调试按键(f5,f6,f7,f8,f9)

    f5: 如果断点处存在方法,f5 则强制进入方法内部,然后一步一步执行方法体, 如果再遇到方法,则继续进入方法体,如此循环,直到执行到断点开始处: f6: 从断点处一步步执行以后的代码,会跳出断点所在 ...

  9. 反射之关于MethodInfo的使用

    1.MethodInfo类是在System.Reflection命名空间底下,既然是在Reflection空间底下.故名思议关于反射相关的操作,其中比较重要的方法是Invoke()方法,它是加载相同程 ...

  10. P1347 排序 (拓扑排序,tarjan)

    题目 P1347 排序 解析 打开一看拓扑排序,要判环. 三种情况 有环(存在矛盾) 没环但在拓扑排序时存在有两个及以上的点入度为0(关系无法确定) 除了上两种情况(关系可确定) 本来懒了一下,直接在 ...