200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > lsof找回误删的文件

lsof找回误删的文件

时间:2023-07-26 21:04:59

相关推荐

lsof找回误删的文件

当 UNIX 计算机受到***时,常见的情况是日志文件被删除,以掩盖***者的踪迹。管理错误也可能导致意外删除重要的文件,比如在清理旧日志时,意外地删除了数据库的活动事务日志。有时可以恢复这些文件,并且 lsof 可以为您提供帮助。

当进程打开了某个文件时,只要该进程保持打开该文件,即使将其删除,它依然存在于磁盘中。这意味着,进程并不知道文件已经被删除,它仍然可以向打开该文件时提供给它的文件描述符进行读取和写入。除了该进程之外,这个文件是不可见的,因为已经删除了其相应的目录条目。

# lsof | grep error_log

httpd 2452 root 2w REG 33,2 499 3090660

/var/log/httpd/error_log (deleted)

httpd 2452 root 7w REG 33,2 499 3090660

/var/log/httpd/error_log (deleted)

... more httpd processes ...

在这个示例中,您可以看到 PID 2452 打开文件的文件描述符为 2(标准错误)和 7。因此,可以在 /proc/2452/fd/7 中查看相应的信息,如清单 1 所示。

清单 1. 通过 /proc 查找删除的文件

# cat /proc/2452/fd/7

[Sun Apr 30 04:02:48 ] [notice] Digest: generating secret for digest authentication

[Sun Apr 30 04:02:48 ] [notice] Digest: done

[Sun Apr 30 04:02:48 ] [notice] LDAP: Built with OpenLDAP LDAP SDK

Linux 的优点在于,它保存了文件的名称,甚至可以告诉我们它已经被删除。在遭到破坏的系统中查找相关内容时,这是非常有用的内容,因为***者通常会删除日志以隐藏他们的踪迹。Solaris 并不提供这些信息。然而,我们知道 httpd 守护进程使用了 error_log 文件,所以可以使用 ps 命令找到这个 PID,然后可以查看这个守护进程打开的所有文件。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。