恢复已被删除,但是能然有进程调用的文件

当Linux计算机受到入侵时,常见的情况是日志文件被删除,以掩盖攻击者的踪迹。管理错误也可能导致意外删除重要的文件,比如在清理旧日志时,意外地删除了数据库的活动事务日志。有时可以通过lsof来恢复这些文件。
当进程打开了某个文件时,只要该进程保持打开该文件,即使将其删除,它依然存在于磁盘中。这意味着,进程并不知道文件已经被删除,它仍然可以向打开该文件时提供给它的文件描述符进行读取和写入。除了该进程之外,这个文件是不可见的,因为已经删除了其相应的目录索引节点。

实验开始

删除 /var/log/messages 日志文件

rm -f /var/log/messages

虽然messages文件被删除,但是由于 rsyslogd , in:imjour ,rs:main 进在正常调用
这个文件,所以它能然存在磁盘中,但是目录索引节点已经被删除了,所以文件是不可见的

在这里插入图片描述

lsof | grep /var/log/messages

在这里插入图片描述

可以看出文件的调用PID(进程)为623,FD(文件描述符)为6,所有到/proc目录里面恢复
在这里插入图片描述
在这里插入图片描述

可以看出6就是messages日志文件

那么就可以使用 I/O 重定向将其复制到文件中,如:

cat /proc/1283/fd/6 > /var/log/messages

在这里插入图片描述

可以看出文件已经恢复

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
进程管理: 1.相同点: 都是采用进程的方式进行管理,每个进程都有自己的进程标识符,可以进行进程的创建、撤销、挂起、恢复等操作。 2.不同点: (1)在Linux中,进程是通过fork()系统调用创建的,而在Windows中,则是通过CreateProcess()函数创建进程。 (2)Linux中,进程可以通过kill命令结束进程;而在Windows中,则需要使用Task Manager或者命令行工具结束进程。 (3)在Linux中,每个进程都有父进程,形成了进程树状结构;而在Windows中,进程之间没有明显的父子关系。 内存管理: 1.相同点: 都有虚拟内存的概念,可以将磁盘空间作为虚拟内存使用。 2.不同点: (1)Linux中,虚拟内存的大小是由物理内存和交换空间大小决定的,而Windows中则是由物理内存和页面文件大小决定的。 (2)Linux中,使用swap命令可以查看交换空间的使用情况,而Windows中,则是通过Performance Monitor查看页面文件的使用情况。 (3)Linux中,有OOM(Out of Memory)机制,当内存不足时会触发该机制,自动结束一些进程来释放内存;Windows中,没有类似的机制。 文件管理: 1.相同点: 都是通过文件系统来管理文件,可以进行文件的创建、删除、复制、移动等操作。 2.不同点: (1)Linux中,文件系统是树状结构的,所有的文件和目录都是挂在根目录下的;而Windows中,则是通过驱动器的方式进行管理,每个驱动器都有自己的根目录。 (2)Linux中,文件和目录的权限是由用户和用户组来控制的,可以通过chmod命令来修改权限;而Windows中,则是通过文件的属性来控制权限。 (3)Linux中,文件名是区分大小写的,而Windows中,则是不区分大小写的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值