恢复被删除文件(以/var/log/messages为例)

2023-12-15 19:49:14

如果文件被删除,并且生成文件的进程还在(没有被重启),则通过本方法大概率可以恢复。这里以/var/log/messages日志文件被attackers给删了,我想知道他干了什么坏事,如果不恢复日志文件将不得而知(这里纯属演义哈,当然还有其他方式方法获知,这里不赘述)。

首先通过lsof查看被删除文件关联进程的PID

lsof |grep /var/log/messages

查找被删除的日志文件的文件句柄

ls -l /proc/75518/fd

恢复文件

cp /proc/75518/fd/5 /var/log/messages

# 验证文件是否恢复(我在做本次试验前已经将messages文件备份为了messages_bak

ll /var/log/messages

-rw-r--r-- 1 root ? root ? 2364528 12月 15 14:55 messages
-rw------- 1 root ? root ? 4415753 12月 12 03:17 messages-20231212
-rw------- 1 root ? root ? 2360532 12月 15 14:46 messages_bak

为了更直观对比恢复后的文件以及备份文件之间的区别,我下载并通过compare工具对比如下:

很显然,文件完全恢复被删除前的数据。?

再次提醒,这种方法仅在进程仍在运行的情况下有效。如果进程已经停止,你可能需要重新启动 rsyslogd 或者考虑使用其他手段来恢复日志。

文章来源:https://blog.csdn.net/avatar_2009/article/details/135022819
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。