如何防止root权限下rm误删(3种方法)

背景

很多情况下,为了方便,许多人喜欢使用rm -rf直接删除文件,这样很容易头脑一热就犯错,带来不可估量的后果,“删库跑路”?,你跑得掉再说

建议养成良好习惯,减少使用rm,特别是在生产环境中,一旦敲下去,准备走人吧

下面主要从预防,操作习惯和遇到rm删除重要东西如何尽可能恢复

预防措施

1.操作习惯:

1.少用rm或者基本不用
2.可以建立“垃圾箱”目录,使用定时任务crontab进行定时清除该目录下的文件

2.容灾

备份+异地容灾策略

3.权限

 权限方面应该多多重视
 1.重要的权限不应由一人管理,而是应该多人管理,使用前多人再三确认;
 2.对应职能,业务需求分发用户权限

出现rm删除重要文件时的解决方案

1.lsof(主讲)

lsof |grep  fileName

查看被删除的文件有无在使用过程中被删除的
由于rm删除的是硬链接个数,当链接为0时会清空,如果被程序内核等使用时,链接个数其实还有一个,此时文件还没有被真正删除!!

原理:

在Linux系统中,每个运行中的程序都有一个宿主进程彼此隔离,以/proc/进程号来体现(Linux本质上就是一个文件系统),比如:ls -l /proc/13067 查看进程PID为13067的进程信息;当程序运行时,操作系统会专门开辟一块内存区域,提供给当前进程使用,对于依赖的文件,操作系统会发放一个文件描述符,以便读写文件,当我们执行 rm -f 删除文件时,其实只是删除了文件的目录索引节点,对于文件系统不可见,但是对于打开它的进程依然可见,即仍然可以使用先前发放的文件描述符读写文件,正是利用这样的原理,所以我们可以使用I/O重定向的方式来恢复文件

查看被删除文件

ls -l /proc/4254/fd/7

查看文件描述

file /proc/4254/fd/
7
 
/proc/4254/fd/7: broken symbolic link to '/root/fileName (deleted)'

恢复:

cp /proc/4254/fd/7 NewfileName

2.ext3文件系统反删除利器ext3grep

用此方法前,重要的一点是,不要操作被删除文件的目录,一切都不要动,然后umount卸载目录所在硬盘,具体实战不一一赘述

3.extundelete工具

此方法也是不要动案发现场,具体实战也不一一赘述,如有需要,后续补充

总结

做前先问,不要使用rm,做个垃圾箱,养成好习惯,道路没有捷径,一当犯错,要最小程度减小损害

全部评论

相关推荐

02-07 12:06
已编辑
华侨大学 测试开发
最近看到很多 92 的,甚至是硕士,开始往测开赛道卷,说实话有点看不懂。先把话说清楚,大厂里的测开,绝大多数时间干的还是测试的活,只是写点自动化脚本、维护测试平台、接接流水线,真正像开发一样做系统、做架构、做核心平台的测开少得可怜,基本都集中在核心提效组,而且人很少,外面进去的大概率轮不到你,我想真正干过人都清楚。很多人被洗脑了,以为测开也是开,和后端差不多,只是更简单、更轻松、还高薪。现实情况是,测开和开发的职业路径完全不一样。开发的核心是业务和系统能力,测开的核心是稳定性和覆盖率,前者是往上走,后者天花板非常明显。你可以见到很多开发转测开,但你很少见到干了几年测开还能顺利转回开发的。更现实一点说,92 的高学历如果拿来做测开,大部分时间就是在做重复性很强的杂活,这种工作对个人能力的放大效应非常弱。三年下来,你和一个双非的,甚至本科的测开差距不会太大,但你和同龄的后端、平台开发差距会非常明显。这不是努不努力的问题,是赛道问题。所谓测开简单高薪,本质上是把极少数核心测开的上限,当成了整个岗位的常态来宣传。那些工资高、技术强的测开,本身就是开发水平,只是挂了个测开的名。普通人进去,99% 做的都是项目兜底型工作,而不是你想象中的平台开发。测开不是不能做,但它绝对不是开发的平替,也不是性价比最优解。如果你是真的不想做开发,追求稳定,那测开没问题。但如果你只是觉得测开比后端容易,还能进大厂,那我劝你冷静一点,这只是在用短期安全感换长期天花板。有92的学历,如果你连测开这些重复性工作都能心甘情愿接受,那你把时间精力用在真正的开发、系统、业务深度上,回报大概率比卷测开要高得多。想清楚再下场,别被岗位名和话术带偏了,就算去个前端客户端也是随便占坑的,测开是一个坑位很少赛道,反而大面积学历下放,不用想也能知道会是什么结果,我想各位在JAVA那里已经看到了
小浪_Coding:工作只是谋生的手段 而不是相互比较和歧视
点赞 评论 收藏
分享
想run的马里奥在学...:这个学历帮你扫平百分之80的障碍,投就完了,这会找不到就等3月暑期一样能找到
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务