会员

贴心博客(Imblog)

基于`Imcat(贴心猫)+(微样式)Weys`开发

程序员如何优雅地防止从删库到跑路?

2018-12-30 21:51 工作

IT 界的有一个老梗,一次某论坛的数据库管理员抱怨自己老板一直虐待他,结果他一气之下就删库跑路了……

此前也曾有新闻报道,北京一软件工程师离职后因公司未能如期结清工资,便利用其在所设计的网站中安插的后门文件将网站源代码全部删除,结果因破坏计算机信息系统罪而获刑五年......

但如果我在服务器维护的时候不小心执行了 rm -rf 命令……现在整台服务器被我删光了肿么办???......所以程序员特别喜欢跑步锻炼。

好吧,言归正传。本文我们来讨论下,程序员如何优雅地防止数据误删。现在先来介绍一下 rm。

rm 是 linux 系统下删除文件的命令,-r 代表删除这个下面的一切,一切的一切那种的一切。f 表示不需要用户确认,直接执行。

通常这个命令都是指定文件夹用的,比如:

rm -rf /home/test/

就是删除 /home/test/ 这个文件夹下面的所有东西。

但是如果后面的文件夹路径没有加对,rm -rf / 在服务器上也就意味着…


解脱了......

俗话说的好:常在河边走,哪能不湿鞋。那该怎么避免这种悲剧的发生呢?

一个方案就是重定向 rm 命令以嫁接为 mv 命令,相当于给 Linux 系统定制了一个回收站。

实现方式如下:

最后将上述脚本写入 /etc/bashrc,并立即执行命令 source /etc/bashrc 即刻生效。


这个脚本定义了几个命令:

rl:查看回收站下的文件;

unrm 文件名或目录:恢复到当前的路径下;

rmtrash:清空回收站,不过会友好提示。

执行 rm 不会真正删除,而是使用 mv 移动到我们指定的回收站。实在真的想删除可以 /bin/rm 来进行删除。另外,需要注意的时,之前 rm 指令的一些参数可能不再使用,因为 rm 现在其实是 mv 了。

看着是还可以,但是也有一些问题,比如删除文件不能重名,若重名了会提示你是否进行覆盖。那就需要再进行特殊处理了,比如删除时加个时间戳什么的,有兴趣的动手实现下吧。

FROM: https://baijiahao.baidu.com/s?id=1610547571272900229

来源:https://baijiahao.baidu.com/s?id=1610547571272900229 编辑:adm_123 关键词:删库,跑路

    More 心情墙

  • 1 我吹过你吹过的风,这算不算相拥; 我走过你走过的路,这算不算相逢。 某小卫:算,都算!拉走隔离! (from某公众号留言)
  • 0 我的要求并不高… Sqlite一样好, cli命令行一样好, PyQuery一样好, …
  • 32 Win7-64bit + Python-3.7.4: Django-2.2.24 安装失败 ... Django-3.2.9 安装失败 ... Django-2.1.15 安装成功! 为啥 Django-2.2+ 安装失败?
  • 23 文学的力量:鲁迅先生,弃医学文;结果他这业余文学成就比他专业医学成就还高; 李彦宏同志,IT终于疲惫了;也拿起笔写起了书:《智能交通》…
  • 有所为,有所不为,是为华为! 凝心聚力,中华有为!

    22 2019-06-02

  • 2019愿望: 1.多健身少生病;2.学习英语,心理学;3.发布`贴心博客`,`贴心企业网`,`贴心房产网`(部分合作开发)...

    37 2018-12-31

  • 愿与[企业,客户]三方利益达到最佳平衡!

    4 2018-12-16

    More 和平鸽小语

  • 1 HI,2022!今天看到的朋友圈,如无特别忌讳,我一律点赞!
  • 33 如果觉得活得太艰难,那就考虑怎样轻松去死! (笔者此时积极生活,热爱生命;没毛病,无需进精神病医院。)
  • 236 不晒妻娃,那是家庭隐私; 不晒工作,那是商业机密。
  • 26 健康第一,X无止境,努力YY,积极ZZ !
导航
博客文章
便笺墙
家族亲友树
联系我们
地址:银河县太阳镇地球村
电话:135-37****47
邮箱:80893510@qq.com

Copyright@贴心博客(Imblog)

Run:10.997/41.878(ms); 6(sql)/2.106(MB); comm:info/detail; Upd:2024-03-29 20:56:09