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可以重新启动指定程 ...
随机推荐
- 【转】Centos下编译升级安装Boost
https://www.xingchenw.cn/article/191 Centos下编译升级安装Boost 首先在官网现在相应的包 https://www.boost.org/users/down ...
- java实现视频转码
废话不多说,直接上代码: 这是转码工具类: package com.gcsoft.pyas.sysbase.utils; import com.gcsoft.pyas.AppProperties; i ...
- noi openjudge 1768:最大子矩阵
链接:http://noi.openjudge.cn/ch0406/1768/ 描述已知矩阵的大小定义为矩阵中所有元素的和.给定一个矩阵,你的任务是找到最大的非空(大小至少是1 * 1)子矩阵. 比如 ...
- Gradle之dependenciens的各种依赖说明
implementation:对于使用了该命令编译的依赖,对该项目有依赖的项目将无法访问到使用该命令编译的依赖中的任何程序,也就是将该依赖隐藏在内部,而不对外部公开.api 完全等同于compile指 ...
- ElasticSearch中"distinct","count"和"group by"的实现
最近在业务中需要使用ES来进行数据查询,在某些场景下需要对数据进行去重,以及去重后的统计.为了方便大家理解,特意从SQL角度,方便大家能够理解ES查询语句. 1 - distinct ; { &quo ...
- 032 SSM综合练习08--数据后台管理系统--jsp页面显示当前用户名
1. 页面端标签控制权限 在jsp页面中我们可以使用spring security提供的权限标签来进行权限控制. (1)在pom文件中导入依赖 <dependency> <group ...
- [转帖]亚马逊发布自主64核心ARM处理器:单核性能远超铂金至强
亚马逊发布自主64核心ARM处理器:单核性能远超铂金至强 https://news.mydrivers.com/1/660/660383.htm 不知道真假 看样子比华为的鲲鹏920 要牛B . 亚马 ...
- 向DataGrid数据表格增加查询搜索框
向DataGrid数据表格增加查询搜索框 效果如下: js代码: $(function(){ var dg = $('#dg').datagrid({ url:"${pageContext. ...
- Python-07-高阶函数
一.定义 默认满足以下两个条件中的一个就是高阶函数: 函数的传入参数是一个函数名 函数的返回值是一个函数名 二.map函数 map接收两个参数,一个函数和一个Iterable,map将接收到的函数作用 ...
- Linux基础(11)原始套接字
一边接收函数返回一边判断返回值时一定要把接收的优先级加()提高再去判断 例 if((sockfd = socket()) < 0) 问题: 如何实现SYN扫描器扫描端口 , 比如AB两个设备要进 ...