记一次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。
-
VIM编辑器介绍和安装配置vim是一款功能强大、支持各种插件、配置极为灵活的编辑器,且支持多种主流OS(linux、Unix、mac、windows),可用来各种编程预言的coding和文件编辑,用习惯了vim,你会体会到它是如此的高效和便捷。时间:2019-04-04
-
启动Docker容器并进入操作的几种方法总结在使用Docker创建了容器之后,大家比较关心的就是如何进入该容器了,其实进入Docker容器有好几多种方式,这里我们就讲一下常用的几种进入Docker容器的方法。时间:2019-01-05
-
win平台和linux平台下mysql导入导出sql文件在日常的维护中,mysql数据库使用是最多的数据库了。现在都去o了。你懂的。整理了一些常用的知识点。在不同的系统下不同的导入导出方法。windows平台下导出:导出整个数据库时间:2019-01-04
-
linux下awk命令用法[root@hehe ~]# cat 2018-12-06-www.pw88.com-access.log | awk -F' ' '{print $1,$4,$5}'223.166.151.243[06/Dec/2018:00:06:08 +0800]207.46.13.94[06/D时间:2018-12-19
-
linux系统cut命令用法cut命令知识点 cut -d ':' -f 1 aa.txt cut [选项] 文件名 选项 -d “:” 冒号分隔符-f 2 ,4 第几列-f 和后边的1 可以有空格也可以不要空格。时间:2018-12-19
-
linux系统sed命令用法sed是轻量级流编辑器(可以从管道符里接受命令结果 可以修改命令也可以修改文本) 和vim一样, vim只能修改文件, 可以执行 增加 删除 选取 替换sed 【选项】‘动作’文件时间:2018-12-19
-
linux查看raid信息方法查看raid信息[root@localhost ~]# mdadm --detail -v /dev/md127/dev/md127: Version : 1.1 Creation Time : Thu Sep 15 06:55:25 2011 Raid Level : raid1时间:2018-12-18
-
linux系统fdisk分区命令详解1、首先查看分区[root@localhost ~]# fdisk -lDisk /dev/vda: 42.9 GB,42949672960 bytes16 heads, 63sectors/track, 83220 cylindersUnits = cylinders of1008 * 512 = 51时间:2018-12-18
-
find: 遗漏“-exec”的参数解决办法-exec 参数后面跟的是command命令,它的终止是以;为结束标志的,所以这句命令后面的分号是不可缺少的,考虑到各个系统中分号会有不同的意义,所以前面加反斜杠。 {} 花括号代表前面find查找出来的文件名。时间:2018-12-05
-
linux modprobe命令作用modprobe命令用于智能地向内核中加载模块或者从内核中移除模块。modprobe可载入指定的个别模块,或是载入一组相依的模块。modprobe会根据depmod所产生的相依关系,决定要载时间:2018-07-12
-
Linux系统运维常用软件介绍、Linux系统日志管理工具踏入linux运维工程师需要掌握的工具,还有很多工具要掌握的,经常看日志是系统管理的好习惯Linux系统日志/var/log/messages 系统总日志/etc/logrotate.conf 日志切割配置文件时间:2018-06-29
-
Linux系统查看磁盘健康状况、磁盘坏道检测方法今天推荐smartmontools,他是一款开源的磁盘控制,监视工具,可以运行在 Linux,Unix,BSD,Solaris,Mac OS,OS/2,Cygwin和Windows上。利用它可以测试硬盘的健康状况,并在发生故障前进行预警。写个shell你就可以高枕无论了。时间:2018-06-28
-
linux通过NTP服务同步国际标准时间和添加NTP任务计划linux时间不对,对于长期不登录的服务服务器来说,时间长了,时间不正确肯定要影响任务计划的执行。[root@245 ~]# date2018年 06月 28日 星期四 08:45:57 CST ######时间时间:2018-06-28
-
指定解压tar包中的某个文件夹或者文件在日常运维中经常进行打包压缩备份文件,一个文件夹往往都是很大很大,每次下载下来解压缩都累死了。没有呀不解压tar包就可以解压其中的某一个文件呢,当然有了。时间:2018-06-26
-
Linux软件安装使用教程(安装包类)1.通常Linux应用软件的安装包有三种:1) tar包,如software-1.2.3-1.tar.gz。它是使用UNIX系统的打包工具tar打包的。2) rpm包,如software-1.2.3-1.i386.rpm。它是Redhat L时间:2016-08-12
-
Linux版本QQ安装使用教程Linux版本QQ安装使用教程安装①打开控制台,使用管理员身份登录;②在终端中输入命令 ”dpkg -i package_name.deb”,package_name是QQ安装包文件名。如果copy这段代码过去时间:2016-08-09
-
Linux Kernel 4.5最终版本发布Linux Kernel自2016年1月25日首个候选版本发布,经历了长达两个多月的不懈更新,在3月6日发布最后一个候选版本之后,Linux Kernel 4.5终于在今天获得了最终版本。Linux Ker时间:2016-03-17
热门阅读
-
crontab bad minute Do you want to retry the same edit
阅读:1916
-
find: 遗漏“-exec”的参数解决办法
阅读:996
-
centos 7 的syslog.conf配置文件位置|etc/syslog.conf修改
阅读:2969
-
kali安装中文输入法
阅读:1162
-
linux命令中 gzip、zip、tar、bzip2的区别
阅读:383