生产环境中如何防止rm -ef 删库操作?

news2024/9/27 23:30:42

有这样一个故事

在这里插入图片描述
在一个风和日丽的下雨天,某猿带着还未从睡梦中醒来的脑子,打开了服务器,完成了一套华丽的rm -ef操作.
对于linux 很多人都认为将用root权限将系统“rm -rf /”整个盘的数据将会丢失,首先请不要紧张不要对数据盘执行任何操作。如果命令正在执行请立即停止 Ctrl+c。执行“rm -rf /” 后整个系统将会逐步从根目录按照字母表表的先后顺序删除。

然后先思考下能不能跑路,如果没法跑路,就继续接着往下看吧。
在这里插入图片描述

首先盘一盘如何防止误操作

为了避免误删根目录,或者重要的文件,整理了以下方法:

1、safe-rm

safe-rm 是一个开源软件用来替代不太安全的rm,可以在/etc/safe-rm.conf中配置路径黑名单,定义哪些不能被safe-rm删除。

可以将 safe-rm 更名为 rm 并放在 $PATH 中比 原rm 程序靠前的位置。一些脚本中使用完全路径/bin/rm则不会受此影响。

    $ rm -rf /etc/
    safe-rm: skipping /etc/

官方地址:http://freecode.com/projects/safe-rm,ubuntu可以直接apt-get安装,centos要下载源码安装。
在这里插入图片描述

2、建立回收站机制

它并不真正执行删除操作,而是将文件移动到一个特定目录,可以设置定时清除回收站,或者在回收站里面的文件大小达到一定容量时(或者用时间做判断)执行删除操作以腾出空间。

可以写个shell脚本替换rm命令,或者在需要删除文件的时候使用mv命令将文件移动到回收站。

1) 在/home/username/ 目录下新建一个目录,命名为:.trash
2)在/home/username/tools/目录下,新建一个shell文件,命名为: remove.sh
    TRASH_DIR="/home/username/.trash"  
    
    for i in $*; do  
        STAMP=`date +%s`  
        fileName=`basename $i`  
        mv $i $TRASH_DIR/$fileName.$STAMP  
    done
3)修改~/.bashrc, 增加一行
alias rm="sh /home/username/tools/remove.sh"

用我们自建的remove.sh替代rm命令

4)设置crontab,定期清空垃圾箱,如:
0 0 * * * rm -rf /home/username/.trash/*

每天0点清空垃圾箱

5)source ~/.bashrc 使替换立即生效

3、使用别名:将 rm -rf 命令替换为别名,例如 alias rm=‘rm -i’,这样每次执行 rm 命令时都会提示用户确认删除操作。

4、使用 chmod:使用 chmod 命令将 rm 命令的执行权限去掉,这样用户就无法执行 rm 命令了。

5、使用 chattr:使用 chattr 命令将目录或文件设置为只读,这样用户就无法删除文件或目录。

6、各种备份

可以异地远程备份重要的数据,采用dump的增量备份机制,LVM快照,虚拟化环境中的快照、raid5等等。

当然上面的内容对你来说没用,这个时候你已经删库了,上面内容对你来说属于马后炮!那我们来看下面的内容

1. 立即停机,不要指望能够进入以前的系统。千万千万不要重新安装系统后再试图用软件恢复,那个时候不管用任何方式都是徒劳,切记切记!!
2. 如果系统在本地,立即将磁盘取出,挂载到新服务器。如果在云盘,联系服务商将将系统(损坏了的系统)镜像(等同于拆下了硬盘), 然后通常云服务器都可以再将损坏了的系统进行挂载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1980950.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python 爬虫项目实战(一):爬取某云热歌榜歌曲

前言 网络爬虫(Web Crawler),也称为网页蜘蛛(Web Spider)或网页机器人(Web Bot),是一种按照既定规则自动浏览网络并提取信息的程序。爬虫的主要用途包括数据采集、网络索引、内容抓…

Linux:基础操作指令

Linux的操作特点:纯命令行(虽然也有图形化界面,但主要是工程师使用,意义不大) windows的操作特点:图形化界面(也有纯命令行的形式,但其更贴近大众,命令行学习成本高&…

云浮23家公立医院齐上阵,引进绿葆取袋机共筑绿色防线

在粤北大地,一场以绿色生态为笔,高质量发展为墨的壮丽画卷正徐徐展开。云浮,这座历史悠久而又充满活力的城市,正以前所未有的决心与行动,向着打造粤北生态发展新高地的宏伟目标团结奋进。 近日,一项惠及民生…

android 源码导入android studio

1.在源码中生成android studio 环境 下载好全包源码后,在源码根目录执行以下四条命令: 1. "source build/envsetup.sh" (source可以用 . 代替,即". build/envsetup.sh") 2. "lunch",并选择要编译的…

Python面试题汇总

Python面试题汇总 说明:下面的内容源于GitHub上名为interview_python的项目,对其内容进行了修订和补充。 [TOC] Python语言特性 1 Python的函数参数传递 看两个例子: a 1 def fun(a):a 2 fun(a) print a # 1 a [] def fun(a):a.append(1) fun(a…

不同专业方向如何在ChatGPT的帮助下完成选题

学境思源,一键生成论文初稿: AcademicIdeas - 学境思源AI论文写作 选择一个合适的论文题目是每个论文写作同学必须面对的重要任务。无论是历史专业、计算机科学专业,还是其他各个领域,找到一个既有研究价值又符合个人兴趣的选题往…

19.HTML总结

重点掌握表单的应用以及表单的初级验证 感谢您的观看,能和您一起学习是我最大的荣幸! 参考学习资料:HTML总结——狂神说 下面是我的微信公众号,与csdn同步更新,有需要的朋友可以关注一波~

ChatGPT等生成式AI在个性化教育方案的应用

生成式AI在个性化教学方案生成中的应用 生成式人工智能(Generative AI)在个性化教学方案生成中的应用主要体现在其能够根据学生的学习习惯、能力和偏好,定制化生成教学内容和活动。这种技术可以帮助教师更有效地设计教学计划,同时…

SOMEIP_ETS_005:检查字节序

测试目的: 验证DUT在发送和接收参数时对字节序的处理能力。 描述 本测试用例旨在检验DUT在处理具有不同字节序的参数时,是否能够正确地发送和接收数据,并确保返回的UINT32值是传入的两个参数(UINT8和UINT16)的和。 …

Demo使用指南

Demo.exe讲解 1. Left、Right: 常规的左右相机视野; 与之相似的 2. Rectifiedright(Rectifiedleft): 纠正畸变后的左右相机视野 通常使用广角镜头或鱼眼镜头时,由于其宽广的视角,图像边缘容易出现畸变&am…

eclipse启动配置,项目导入

1,设置eclipse jre 2,设置 tomcat Server 的jre为jdk1.7.0 80 如下图顺序设置 tomcat Server 的jre为jdk1.7.0_80 (设置成你们自己的服务的jdk) 3,设置项目 project facets 中的jdk,我的为1.7 在Package …

MATLAB指针式仪表自动读数系统设计

指针式仪表自动读数系统设计 摘要 随着模式识别技术、计算机技术等多种技术的不断完善和发展,机器视觉获得了巨大的进步与发展。目前在许多企业中,存在着大量的仪表,仪表的读数都要靠人来完成,工作量很大而且误差率相对来说比较…

优思学院|质量经理如何开展工作?

如果你本来是一个质量工程师,经过了多年的努力,终于成为质量经理,你或者会很困惑,我到底应该如何开展质量管理的工作呢?质量管理对于任何企业来说都是至关重要的,它不仅决定了产品的合格率和市场竞争力&…

DTCC 2024 | DBdoctor邀您参加第十五届中国数据库技术大会

第十五届中国数据库技术大会 8月22日-24日,2024年第十五届中国数据库技术大会(DTCC2024)将于北京举办。此次大会由IT168联合旗下ITPUB、ChinaUnix两大技术社区主办,以“自研创新 数智未来”为主题。作为顶级的数据库领域技术盛…

3_神经网络的搭建(二)

线性层和其它层的介绍 教学视频链接:神经网络-线性层及其他层介绍_哔哩哔哩_bilibili 正则化层(Normalization Layers) 在 torch.nn 中,Normalization Layers 主要用于对输入数据进行标准化或归一化,以帮助模型的训练…

让C盘清理不再深奥 竟然可以这么简单就清理干净了

让C盘清理不再深奥 竟然可以这么简单就清理干净了。C盘对很多人来说是很陌生的,这个并不奇怪,毕竟C盘确实太复杂,真的懂得C盘的结构的人并不多,如果要给C盘清理垃圾,那真的没多少个人可以做到靠手动去排查垃圾&#xf…

LeetCode 热题 HOT 100 (017/100)【宇宙最简单版】

【链表】No. 0148 排序链表【中等】👉力扣对应题目指路 希望对你有帮助呀!!💜💜 如有更好理解的思路,欢迎大家留言补充 ~ 一起加油叭 💦 欢迎关注、订阅专栏 【力扣详解】谢谢你的支持&#xff…

PowerBi 瀑布图使用度量值

1. 假设我们有这样一张表。 销量表,第一列是销售月份,第二列到第四列,分别是西南,西北,东南三个地区的销量。 我们想要用瀑布图,X轴显示销售月份日期,细目显示三个地区,Y轴显示销量…

rke管理k8s节点的新增与删除

1 删除worker节点 # 查看节点名 kubectl get nodes # 标记节点不可调度 kubectl cordon worker8 # DaemonSet 确保集群中的所有(或某些)节点上都运行了一个 Pod 的副本 # 排空节点上的pod,确保该节点上的所有Pod都调度到其他节点 kubectl d…

【Android】通知的使用

使用通知 通知(notification)是Android系统中比较有特色的一个功能,当某个应用程序希望向用户发出一些提示信息,而该应用程序又不在前台运行时,就可以借助通知来实现。发出一条通知后,手机最上方的状态栏中…