欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux下防止rm -rf /命令误删除

程序员文章站 2022-03-09 14:26:31
...

原理:
首先我们需要用到的软件(其实就是一个命令): safe-rm ,它具有 rm 命令的所有功能,不过 safe-rm 命令可以设置路径黑名单,也就是说在黑名单中的目录或文件将不会被删除;我们把 rm 命令替换为 safe-rm ,之后执行 rm 命令也就相当于执行 safe-rm 命令,也就不会误删除黑名单中的目录或文件了。

safe-rm命令下载:百度网盘 官网下载
1、下载到Linux服务器后并解压缩,复制safe-rm-0.12下的 safe-rm 命令到/usr/local/bin目录

wget https://launchpad.net/safe-rm/trunk/0.12/+download/safe-rm-0.12.tar.gz
tar xf safe-rm-0.12.tar.gz
cp safe-rm-0.12/safe-rm /usr/local/bin/

2、替换 safe-rm 为系统默认的 rm 命令

做一个 rm 命令的符号链接,之后执行 rm 命令就相当于执行 safe-rm
设置环境变量,要保证/usr/local/bin在其他变量路径前面
先查看当前变量的顺序,可以看到/usr/local/bin没有在其他路径的最前面:

ln -s /usr/local/bin/safe-rm /usr/local/bin/rm
echo 'PATH=/usr/local/bin:$PATH' >>/etc/profile
source /etc/profile

3、设置路径黑名单

创建/etc/safe-rm.conf文件,将重要文件或者目录的完整路径输入进去保存就可以了,每条以回车分隔。

我这个表示第一层和第二层和第三层禁用rm

for i in `ls /`;do echo -e "/$i">> /etc/safe-rm.conf; for j in `ls /$i`;do echo "/$i/$j">> /etc/safe-rm.conf;done ;done && echo "/">> /etc/safe-rm.conf
[aaa@qq.com /]# cat /etc/safe-rm.conf 
/opt/test
/

效果
Linux下防止rm -rf /命令误删除

相关标签: 安全优化 linux