linux12企业实战 --> 01linux服务器如何避免使用rm -rf /*
Posted FikL-09-19
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux12企业实战 --> 01linux服务器如何避免使用rm -rf /*相关的知识,希望对你有一定的参考价值。
一、怎样阻止Linux服务器执行rm -rf /*命令
众所周知,Linux中的rm -rf /*命令是一条灾难性的命令.因此有的运维人员想一些办法来禁止这条命令的执行,今天演示一个简单的
今天我们使用的是替换rm命令的方法,然后做一个简单的配置,让系统不能执行rm -rf /*
1.下载safe-rm
官网下载https://launchpad.net/safe-rm/+download
实际上有这一个工具,也就是`safe-rm命令`,我们用来替换rm就行了,实际上safe-rm就是一个删除命令,只不过呢它可以通过配置文件来做一些过滤.
[root@web01 ~]# yum -y install wget tree
[root@web01 ~]# wget https://launchpadlibrarian.net/188958703/safe-rm-0.12.tar.gz #版本0.12版本
2、解压并改名
[root@web01 ~]# tar xf safe-rm-0.12.tar.gz -C /usr/local/
[root@web01 ~]# mv /usr/local/safe-rm-0.12/{safe-rm,rm}
3、环境变量
[root@web01 ~]# cat >/etc/profile.d/rm.sh <<EOF
export RM_HOME=/usr/local/safe-rm-0.12
export PATH=\\$RM_HOME:\\$PATH
EOF
[root@web01 ~]# source /etc/profile.d/rm.sh
4、查看系统默认rm命令
[root@web01 ~]# which rm
alias rm='rm -i'
/usr/local/safe-rm-0.12/rm
5、配置我们需要删除的文件
[root@web01 ~]# cat /etc/safe-rm.conf
/*
/*/*
/*/*/*
/*/*/*/*
/root/*
/dev/*
/boot/*
/usr/*
/etc/*
/opt/*
6、结果展示
7、总结
总结:可以看到只有我们加进`/etc/safe-rm.conf`的带绝对路劲的文件或者目录不会被删除,未加进的文件依旧可以正常删除。包括定义了/tmp/下的任何文件不能删除,但是/tmp/ddd依然可以被删除,所以如果定义到某个文件不能删除,那么一定要分别定义他的所在目录的每一层目录都不能删除,否则该文件依然有被删除的风险。就如同上面的`rm -rf /* ,虽然加进去了,但是依旧可以执行rm -rf /* ,只是根下层的目录不能删除而已,这也算是缺陷吧,所以在/etc/safe-rm.conf里面需要加多层限制
8、说明
如果加进了/etc/safe-rm.conf的文件路径,我们依然想删除他怎么办,那就直接使用`/bin/rm -rf /tmp/1.txt ,但是删除前一定要三思,毕竟数据恢复比较麻烦。
/lib64/ld-linux-x86-64.so.2这个链接文件会被删除,在虚拟机上测试的,加了`/*/*/*/*/*/*后这个文件还是被删除,系统依旧无法正常使用,物理机上没有测试过
以上是关于linux12企业实战 --> 01linux服务器如何避免使用rm -rf /*的主要内容,如果未能解决你的问题,请参考以下文章
linux12企业实战 -- 43topic申请并部署对应的服务