linux数据恢复
首页
文章
漏洞
SRC导航
内容精选
输入关键词搜索
APP 登录| 注册
【技术分享】如何恢复Linux下误删/etc目录数据
阅读量 63345 |
分享到: QQ空间 新浪微博 微信 QQ facebook twitter
发布时间:2017-10-23 13:54:52
https://p4.ssl.qhimg.com/t015ce854dd04fa7848.png
前言
对于运维工作者来说,可能最让人担心的,是服务器宕机;最让人无助的,是被DDOS;而最让人心惊肉跳的,是rm -rf *这个命令……
当你执行rm -rf命令时,万一哪个变量没赋值
听说过被删空服务器么?
mysql数据库不是在运行吗?linux能删除正在执行的文件?反正是彻底删除了……
那一夜,你没有拒绝我……那一夜,我心儿破碎……
我们平时工作中,rm -rf *这个命令给每个使用linux系统的工程师带来了深深的恐惧。
你以为今天我们是来哭诉服务器被清空之后有多惨的嘛?
不!
山重水复疑无路,误删文件能恢复!
今天就给大家分享一个在误删/etc目录后,救命止损的数据恢复教程。
一、紧急措施
1.如果你是远程登录服务器的,首先要保持连接不被断开。不操作时用vim保持连接状态。
此时虚拟控制终端和ssh连接已经不能建立新连接了。
如下图已经不能登录。
http://p6.qhimg.com/t01fbd2106f12a840ef.png
2.拷贝相同版本服务器/etc目录到目标服务器(版本与配置越相近,接下来的工作量会越小,可以使用rz, wget等其他方式把配置拷贝到服务器。scp等需要验证账户信息已经不能使用)
拷贝完成后,可以通过ssh连接,检测是否可以正常连接至服务器(此时使用的账户密码应该是同版本服务器的账户密码)
如出现下图所示,连接失败,可能是selinux导致,临时关闭selinux setenforce 0
http://p5.qhimg.com/t013d7a6f8a3daedcc6.png
此时已经可以正常通过ssh连接至服务器,切换至root账户如下
http://p4.qhimg.com/t012fbc18db2692e8e6.png
3.修改selinux配置为关闭状态。/etc/selinux/config 修改为开机不启动。
二、系统恢复
1.检查fstab文件
查看配置文件信息如下:
http://p6.qhimg.com/t0197cc2f4899ad5b9a.png
通过blkid查看设备上所采用文件系统类型,以及挂载设备。
http://p3.qhimg.com/t016c4072c1f716118e.png
注:对比两图可以发现,信息差别很大, 因为我这两台服务器安装时分区方式不一样。
https://p1.ssl.qhimg.com/t019192082a0fd7760d.png
系统显示没挂载home分区,所以删除需要把配置文件中挂载在home下的那行删除。
以及修改设备名与UUID,以及TYPE
修改/etc/fstab配置文件,如下
https://p1.ssl.qhimg.com/t016c4072c1f716118e.png
配置修改无误的话,重启是可以正常启动
如下图所示,已经可以正常启动(不过此时千万别重启,因为应用配置数据还没恢复)
https://p1.ssl.qhimg.com/t0192de1d378e1d7a5e.png
2.修改网卡信息
如果拷贝的网络配置是动态获取IP,并且网卡名称相同,对访问网络还没影响,那么这一步可以跳过,网卡这部分可以放到最后来做,因为你删除配置后,网络暂时还是可以使用的。
这里我拷贝的是静态分配的IP地址,所以需要做一些修改。
下图是可以看到我的网卡名称是ens33
https://p4.ssl.qhimg.com/t01082dd19cc6da6e10.png
而我的配置中没此网卡配置,相对应的应该是ifcfg-eth0。
https://p4.ssl.qhimg.com/t011f7c1b0ac13d885b.png
备份一份,然后重命名为ifcfg-ens33
cp ifcfg-eth0 ifcfg-eth0.bak && mv ifcfg-eth0 ifcfg-ens33
重启可能远程断开连接(不同环境重启网络方式可能不太相同,这里是centos7)
https://p2.ssl.qhimg.com/t017cd98770554fb40b.png
看下配置信息
https://p3.ssl.qhimg.com/t0153d67009c552814a.png
下边是部分解释,可以参考下
https://p3.ssl.qhimg.com/t014709776b8d7215c3.png
修改为如下配置(动态分配)
https://p1.ssl.qhimg.com/t015a284d1e212f78e7.png
静态分配
https://p2.ssl.qhimg.com/t0182ea0dd620cf190f.png
配置以上任意一种方式
https://p2.ssl.qhimg.com/t01f8890cede9fa5c14.png
动态分配的IP,相对简单一些,如果网关不支持dhcp,或者环境需要是静态的,那么也可以采用静态的。配置静态IP需要注意,网关如果设置错误,那么可能不能访问网络的哦。
三、应用配置恢复
a) Redis 配置数据恢复
i. Redis账户数据恢复
1.首先确定系统中是否还有redis用户。(如果拷贝过来的系统也安装了redis,那么肯定是会有redis账户)
https://p3.ssl.qhimg.com/t01b62519399e47434e.png
如果发现有redis用户,以下步骤可以跳过。
1.如没有redis账户,需添加redis账户,不然重启redis可能失败。添加redis账户信息。(仅供参考,centos7环境成功)
echo “redis:x:996:994:Redis Database Server:/var/lib/
redis:/sbin/nologin” >> /etc/passwd
echo “redis:!!:17416::::::” >> /etc/shadow
echo “redis:x:994:” >> /etc/group
echo “redis:!::” >> /etc/gshadow
ii. Redis配置文件恢复
Redis的配置文件恢复相对简单一些,官方提供了CONFIG REWRITE命令重写redis.conf配置文件。
https://p1.ssl.qhimg.com/t01e6c1d0d694d0b585.png
如果执行命令过程中出现如下提示,不用担心是因为权限的问题。
https://p2.ssl.qhimg.com/t01f8336ff486fe83c2.png
首先创建redis.conf文件
touch /etc/redis.conf
然后修改文件属性
chown redis:redis /etc/redis.conf
参考官方介绍: https://redis.io/commands/config-rewrite
b)mysql配置文件恢复(maraidb)
i.mysql账户数据恢复
1.首先确定系统中是否还有mysql用户。
https://p3.ssl.qhimg.com/t0183f5d140554a2f3d.png
如果发现有mysqld用户,以下步骤可以跳过。
2.如没有mysql账户,需添加mysql账户,不然重启mysql可能失败。添加mysql账户信息。(仅供参考,centos7环境成功)
echo “mysql:x:27:27:MariaDB Server:/var/lib/mysql:/sbin/nologin” >> /etc/passwd
echo “mysql:!!:17415::::::” >> /etc/shadow
echo “mysql:x:27:” >> /etc/group
echo “mysql:!::” >> /etc/gshadow
ii.mysql配置文件恢复
1.进程信息获取mysql配置信息
https://p2.ssl.qhimg.com/t01176a547063334c3b.png
如下
basedir = /usr
datadir = /var/lib/mysql
plugin-dir = /usr/lib64/mysql/plugin
log-error = /var/log/mariadb/mariadb.log
open-files-limit =65535
pid-file = /var/run/mariadb/mariadb.pid
socket = /var/lib/mysql/mysql.sock
2.mysql参数信息
#上图mysqld进程ID
pid=25499
#获取进程映射地址
cat /proc/$pid/maps | awk '$6 !~ "^/" {split
($1,addrs,"-"); print "dump memory mem_" addrs[1] "
0x" addrs[1] " 0x" addrs[2] ;}END{print "quit"}' > gdb-commands
#dump地址中数据
gdb -p $pid -x gdb-commands
上边工作做完看下生成的文件如下
https://p1.ssl.qhimg.com/t012831e6617929c429.png
查找mysql参数信息
比如 grep datadir ./mem_* 会显示所有包含datadir字符串二进制文件。
https://p3.ssl.qhimg.com/t01e19e35f4354d35c2.png
vim ./mem_7f18284af000 查找datadir如下,跟进程信息获取参数有部分重复。
https://p3.ssl.qhimg.com/t01550618699b77be57.png
datadir = /var/lib/mysql
socket = /var/lib/mysql/mysql.sock
symbolic-links = 0
max_connections = 1000
openfileslimit = 65535
vim ./mem_7ffef7a7c000
查找datadir如下,此块内存跟ps看到的信息差不多,可以不用记录。
https://p4.ssl.qhimg.com/t01516fee5756d47763.png
3.创建mysql配置文件
根据以上两种方式获取到配置信息如下
basedir = /usr
datadir = /var/lib/mysql
plugin-dir = /usr/lib64/mysql/plugin
log-error = /var/log/mariadb/mariadb.log
open-files-limit =65535
pid-file = /var/run/mariadb/mariadb.pid
socket = /var/lib/mysql/mysql.sock
symbolic-links = 0
max_connections = 1000
获取mysql默认配置文件路径位置
mysql --verbose --help | grep -A 1 'Default options' | grep /
https://p2.ssl.qhimg.com/t01f12179498eeb1173.png
以上是mysql查找配置文件顺序,通常用的是/etc/my.cnf
创建配置文件touch /etc/my.cnf ,或者拷贝版本差别不大的配置文件。
修改为如下所示
https://p1.ssl.qhimg.com/t01d4d44f1bf82e6106.png
重启mysql,测试下业务是否正常。
本篇为悬镜安全实验室原创文章,如需转载请标注:http://lab.xmirror.cn/
悬镜安全实验室介绍:
悬镜安全实验室由资深安全专家结合多年的安全工程实施经验和技术储备为行业客户提供专业的安全保障和安全咨询等服务,主要包括:服务器防黑加固、高级渗透测试、安全事件应急响应、信息系统安全风险评估、安卓App风险评估及APT模拟攻击测试等,全天候7*24位金融、电商、开发者和政企客户的各类应用服务提供一站式【云+端】防黑加固解决方案。
本文由安全客原创发布
转载,请参考转载声明,注明出处: https://www.anquanke.com/post/id/87061
安全客 - 有思想的安全新媒体
安全知识
悬镜安全 认证 分享到: QQ空间 新浪微博 微信 QQ facebook twitter
|推荐阅读
2018安恒杯11月赛-Web&Crypto题解
2018-11-26 10:02:02
U2F安全协议分析
2018-11-24 10:00:48
二十年重回首——CIH病毒源码分析
2018-11-23 15:20:19
Cookie Maker:隐藏在Google Docs中的恶意网络
2018-11-23 14:30:40
|发表评论
发表你的评论吧
昵称
匿名用户
换一个
|评论列表
加载更多
悬镜安全
Linux服务器安全防黑加固好助手
文章
8
粉丝
0
TA的文章
【技术分享】OpenSSH安全浅析
2017-11-08 10:08:57
【技术分享】如何恢复Linux下误删/etc目录数据
2017-10-23 13:54:52
【技术分享】Linux主机加固丨如何优雅的控制系统权限?
2017-09-18 16:20:22
【北京招聘】悬镜安全实验室人才招聘(期权激励,各种补贴)
2017-07-31 16:17:53
【技术分享】旧瓶新酒之ngx_lua & fail2ban实现主动诱捕
2017-07-31 10:03:40
输入关键字搜索内容
相关文章
360 | 数字货币钱包APP安全威胁概况
以太坊智能合约安全入门了解一下(下)
对恶意勒索软件Samsam多个变种的深入分析
360 | 数字货币钱包安全白皮书
Json Web Token历险记
揪出底层的幽灵:深挖寄生灵Ⅱ
简单五步教你如何绕过安全狗
热门推荐
安全客Logo
安全客
安全客
关于我们
加入我们
联系我们
用户协议
商务合作
合作内容
联系方式
友情链接
内容须知
投稿须知
转载须知
合作单位
安全客
安全客
Copyright © 360网络攻防实验室 All Rights Reserved 京ICP备08010314号-66
Loading...0daybank
文章评论