博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux 一个跟踪文件删除的小技巧
阅读量:6927 次
发布时间:2019-06-27

本文共 1145 字,大约阅读时间需要 3 分钟。

最近有同事问我说他有个现场环境,经常会丢失业务文件,每天都出现,几百个里面丢失1到两个。

为了解决这个问题,我让他布置audit,具体可以man一下auditctl。

过了一天,他说audit.log中抓到了,知道是某个pid做的动作,但是由于该pid是瞬间的,无法知道是谁干的,只知道是调用rm干的。

然后,我file查看一下rm的属性。

file /usr/bin/rm/usr/bin/rm: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=7d9d4d6f6883e3638816d898d389e797814a1a1c, stripped

然后将rm 通过mv 重命名为rm_elf.

再touch一个文件,叫rm,写入脚本,先记录日志,再执行真正的rm,类似如下:

[root@centos7 tmp]# cd /usr/bin/[root@centos7 bin]# ls rm*rm  rmail  rmail.postfix  rmdir  rm_elf  rmic  rmid  rmiregistry[root@centos7 bin]# cat rm#!/bin/bashdate >>/tmp/caq.txtecho "PPID of this script: $PPID" >>/tmp/caq.txtps -ef|grep $PPID |grep -v grep >>/tmp/caq.txtecho "rm $* now" >>/tmp/caq.txtrm_elf $*

效果如下:

[root@centos7 tmp]# touch 555[root@centos7 tmp]# rm 555rm_elf:是否删除普通空文件 "555"?y[root@centos7 tmp]# cat /tmp/caq.txt2018年 09月 05日 星期三 14:22:58 CSTPPID of this script: 6121root      5707  6121  0 14:22 pts/1    00:00:00 /bin/bash /usr/bin/rm -i 555root      6121  5497  0 9月04 pts/1   00:00:01 -bashrm -i 555 now

恩,很小很简单,但是能work。

转载于:https://www.cnblogs.com/10087622blog/p/9591867.html

你可能感兴趣的文章
How to use epoll? A complete example in C
查看>>
JScriptHelper类
查看>>
“万能数据库查询分析器”中英文4.02版本 2013-4-3日已在国内几大软件下载网站发布,敬请使用...
查看>>
memstr - Dustfly的专栏 - 博客频道 - CSDN.NET
查看>>
SSH无密码验证登录的实现(转摘)
查看>>
C# 修饰符的总结 default public private protected internal protectedinternal
查看>>
薛定谔之猫_百度百科
查看>>
jason数据格式详解
查看>>
公知_百度百科
查看>>
microsoft.sql.chainer.packagerdata.dll 0x84B10001解决方案
查看>>
让IE支持CSS 3圆角属性的方法(转)
查看>>
MySQL MyISAM与Innodb优化方案比较
查看>>
分享:C语言中Const指针变量(常指针)
查看>>
为ios 应用程序添加图标和添加名字
查看>>
学习C语言一些的好的书和网站
查看>>
[php] 如何将 simplexml_load_string 转换成数组array
查看>>
Ecshop探究之index.php
查看>>
WCF实例上下文以及会话学习
查看>>
Android系统中的广播(Broadcast)机制简要介绍和学习计划
查看>>
Properties 配置文件的读取
查看>>