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可以重新启动指定程 ...
随机推荐
- 和至少为K的最短子数组
返回 A 的最短的非空连续子数组的长度,该子数组的和至少为 K 如果没有和至少为 K 的非空子数组,返回 -1 . 示例 1: 输入:A = [1], K = 1 输出:1 示例 2: 输入:A = ...
- 一段隐藏文字的css代码,记录下
<span style="width:1px; height:1px; color:#fff; outline-width:hidden; overflow:hidden; displ ...
- TomatoLog 是一个基于 .NETCore 平台的产品。
TomatoLog TomatoLog 是一个基于 .NETCore 平台的产品. The TomatoLog 是一个中间件,包含客户端.服务端,非常容易使用和部署. 客户端实现了ILoggerFac ...
- mysql8.0 caching_sha2_password的坑
先来解释一下为什么会报这个错,在mysql8之前的版本使用的密码加密规则是mysql_native_password,但是在mysql8则是caching_sha2_password. 解决方案有很多 ...
- 初识Java及所要准备的工作
整个Java学习路线 Java特点: 开源:源代码开放 跨平台:由于各平台有差异型,java由JVM对源代码进行解释执行,一次编译到处运行 Java的学习框架如下: JavaSE包括: 数据库包括: ...
- django使用https
根据以下内容总结了下: http://www.voidcn.com/article/p-xxdfvetx-da.html http://www.voidcn.com/article/p-ezmbnny ...
- Windows下编译Redis5.0.5
先去弄Cygwin环境 http://www.cygwin.com/ 下载完成 打开 下一步 下一步 下一步 下一步 下一步,出现一个界面,让你添加地址,你打开官网,选择mirror sites,点击 ...
- C++ STL学习总结
1.vector //最好给它一个初始化大小 #include <iostream> #include <vector> using namespace std; int ma ...
- 宝塔linux定时任务设置
选择shell脚本选择执行周期在脚本内容内写入 curl -sS --connect-timeout 10 -m 60 '此处为地址链接';如下图所示:
- day25——私有成员、类方法、静态方法、属性、isinstance和issubclass的区别
day25 类的私有成员 当你遇到重要的数据,功能(只允许本类使用的一些方法,数据)设置成私有成员 python所有的私有成员都是纸老虎,形同虚设 类从加载时,只要遇到类中的私有成员,都会在私有成员前 ...