Win 7系统 Win10系统 XP系统 系统故障 系统安装
您的位置: 首页 > 故障 > linux

Linux系统被入侵后日志被删除日志恢复方法

日期: 2015-04-23   浏览: 1399

  Linux是服务器操作系统,在安全方面也受到用户的极度关注,但Linux系统难免会攻击者被入侵,攻击后可能会导致系统各种日志被清除,这对我们后期维护带来很大的麻烦,其实我们可以利用lsof命令来恢复被删除的Linux系统日志,下面来看Linux系统是如何使用lsof命令恢复系统日志文件的。

豆豆系统 www.doudouxitong.com

  一、前提条件

  不能关闭服务器,不能关闭相关服务或进程,如恢复apache的访问日志 /var/log/httpd/access_log ,不能关闭或者重启服务器系统,也不能重启httpd服务。

  二、实施过程

  1. 找到相关进程pid

  代码如下:

  [root@localhost ~]# lsof | grep access_log

  httpd 1392 root 7w REG 253,0 0 263802 /var/log/httpd/access_log

  httpd 7330 apache 7w REG 253,0 0 263802 /var/log/httpd/access_log

  httpd 7331 apache 7w REG 253,0 0 263802 /var/log/httpd/access_log

  httpd 7332 apache 7w REG 253,0 0 263802 /var/log/httpd/access_log

  httpd 7333 apache 7w REG 253,0 0 263802 /var/log/httpd/access_log

  httpd 7334 apache 7w REG 253,0 0 263802 /var/log/httpd/access_log

  httpd 7335 apache 7w REG 253,0 0 263802 /var/log/httpd/access_log

  httpd 7336 apache 7w REG 253,0 0 263802 /var/log/httpd/access_log

  httpd 7337 apache 7w REG 253,0 0 263802 /var/log/httpd/access_log

  这里我们重点关注一下第一、第二、第三、第四列,分别表示进程名、pid、用户、文件描述符,我们看到这里的文件描述符是7w,所以我们在下一步操作过程要记住这个7.

  2. 找回日志

  代码如下:

  [root@localhost ~]# wc -l /proc/1392/fd/7

  55 /proc/1392/fd/7

  [root@localhost ~]# cat /proc/1392/fd/7 > /var/log/httpd/access_log

  我们先通过wc或者tail命令查看日志信息,然后再将日志重写到access_log中即可。

  三、总结

  在Linux系统的/proc 分区下保存着进程的目录和名字,包含fd(文件描述符)和其下的子目录(进程打开文件的链接),那么如果删除了一个文件,还存在一个 inode的引用:/proc/进程号/fd/文件描述符。我们只要知道当前打开文件的进程pid和文件描述符fd就能利用lsof工具列出进程打开的文件。通过lsof我们就可以进行简单的文件恢复工作,当然这里不局限于日志文件,只要是存在引用的文件。

  可见lsof命令在Linux系统中使用也是极为重要,这种命令方法来恢复日志文件也适合在日常误删日志文件。

相关资讯:
精彩专题:
最新应用:
最新系统下载: