raksmart活动促销

分享

写回答

发帖

Linux下防止“rm -rf /”误删除

国外服务器 国外服务器 4273 人阅读 | 1 人回复

发表于 2018-3-31 21:23:13 | 显示全部楼层 |阅读模式

说明:在Linux下防止“rm -rf /”误删除,不解释了,运维应该在每台服务器都去配置这个问题以减少灾难的发生。
方法:
1、safe-rm
safe-rm是一个开源软件用来替代不太安全的rm,可以在/etc/safe-rm.conf中配置路径黑名单,定义哪些不能被safe-rm删除。
可以将safe-rm更名为rm并放在$PATH中比原rm程序靠前的位置,或者使用alias设置。一些脚本中使用完全路径/bin/rm则不会受此影响。
$ rm -rf /etc/#提示safe-rm: skipping /etc/
Ubuntu可以直接apt-get安装,CentOS要下载源码安装。
2、(推荐这种方式)建立回收站机制
它并不真正执行删除操作,而是将文件移动到一个特定目录,可以设置定时清楚回收站,或者在回收站里面的文件大小达到一定容量时(或者用时间做判断)执行删除操作以腾出空间。
可以写个Shell脚本替换rm命令,或者在需要删除文件的时候使用mv命令将文件移动到回收站。  
1)在/home/username/目录下新建一个目录,命名为:.trash
2)在/home/username/tools/目录下,新建一个Shell文件,命名为:remove.s
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)设置/etc/crontab,定期清空垃圾箱,如:
0 0 * * * rm -rf /home/username/.trash/*
每天0点清空垃圾箱
5)source ~/.bashrc使替换立即生效
3、注意脚本中rm -rf变量的使用
在脚本尽量不要使用 rm -rf $FOO/, 请使用rm -rf $FOO,另外删除尽量不要写相对路径,不要带变量。
4、根文件系统设置只读挂载
noauto,ro
5、各种备份
可以异地远程备份重要的数据,采用dump的增量备份机制,LVM快照,虚拟化环境中的快照、raid5等等。


回答|共 1 个

神算子

发表于 2018-4-3 17:11:52 | 显示全部楼层

就是这样的
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则