记一次Linux安全事故与数据恢复案例分析
小编:动力软件园 时间:2018-10-19 20:50:21
数据丢失,头都炸了,看着爱因斯坦的头像是那么的亲切。硬盘有价,数据无价,本站虽小也是动力软件园站长辛苦一条条整理的。由于缺乏运维经验,linux权限设置不够恰当,造成数据误删除,不过经过学习和努力,竟然完整恢复了。再次感谢,李老师的帮助,帮我快速实现了恢复。毕竟我命令不是那么熟悉。
Linux数据丢失可以恢复吗?
今天以运维着的身份简单记录一下本次恢复的全过程,简单记录还原操作过程,方便以后查阅。晕,是希望以后不再碰到这样的事情,留个有需要的朋友吧。因为是脑补记录,本文章没有那么多命令和贴图供大家参考,能看到这篇文章的朋友一定是有维护经验的朋友。根据提示应该可以找到相关的资料,完成数据恢复。
linux系统和windows系统从系统设计机制分析,windows有回收站,真实误删除了,还有机会恢复。linux没有垃圾回收站,删除了就没那么好恢复了。我也咨询了好几个懂linux的朋友(包括有rhce证书的人)都说没有希望了。linux删除了数据是没办法恢复,在这里我要告诉大家,机会还是有的,不要放弃。
文件删除一般分两种情况,第一种情况说起来简单,但是在实际的环境中并不多见,做个模拟练习还行,真正的环境中,删除就是删除了,基本不知道本删除的文件是否还被其他用户所使用,一般都是被关闭了,那么使用查看文件句柄的方式恢复就难了。
linux数据恢复第一种情况:
说人话,当前linux系统多个用户。。A用户修改,另外一个B用户误删除。如果A关闭了文件句柄,恢复就没希望了。
解决方法:
通过文件打开的pid以及打开文件的文件句柄恢复。
cp /PROC/FILE_PID/FD/* /TMP/FILE_NAME #拷贝句柄到临时目录恢复文件。
linux数据恢复第二种情况:
系统多用户误删除的情况(案例情况是,多用户,期中一个用户通过winscp把右侧当做是本地文件,直接全部删除了,那么会有人问了。设置linux UGO权限啊,我的确设置 文件目录777,755不行啊,普通用户写不进去,只能777,那么用户上传文件权限是644,结果是用户可以删除其他用户上传的644权限文件,包括root上传的755权限文件)。遇到这样的情况只能是使用linux数据恢复工具尝试恢复了。
注意事项和解决办法。
1、停止对分区做操作。 2、通过DD命令进行备份,防止其他方式恢复造成数据丢失。 。 3、对当前设备分区进行卸载 umount /dev/sdb* 对linux分区不熟悉的朋友,先去脑补一下。我这里也没有合适的教程。 4、安装下载第三方安装工具extundelete,对丢失的文件进行搜素并还原。使用extundelete需要e2fsprogs支撑。
需要yum install e2fsprogs*
小技巧:反斜杠* 安装不知道的包名
5、编译安装。./config make;make install
extundelete --help
基于文件 时间 目录 等方式恢复,查看help
extundelete --restore-inode 1111111 /dev/sdba (如果分区没有卸载,一定要恢复到其他盘里。切记,切记)这个是基于inode恢复的,恢复出来的是一堆inode号,目前我还不知道如何从inode号恢复成文件名,文件少了可以,多了咋办。
推荐恢复目录吧,直接出来文件名。
extundelete --restore-dirc** /dev/sdba
执行命令,会显示有多少个inode号在恢复,linux数据恢复完成后会再当前目录下有个RE开头的文件夹。打开看看吧。
如何防止linux误删除文件再次发生:
后记:上述误删案例,如何设置权限才可以实现linux多用户公用目录只能查看不能删除其他用户权限呢。欢迎阅读,其实就是很小一个技巧,就像ftp设置的权限一样了,sticky粘贴位权限。用这个命令 chmod o+t file,具体的过程我回头记录一下。明年争取用一年时间考下RHCE证书,坚决不做只有证书的人。
转载请注明出处 https://www.pw88.com/teach/linux/301.html。