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
cp /opt/safe-rm-0.12/safe-rm /usr/local/bin/
2、替换 safe-rm 为系统默认的 rm 命令 做一个 rm 命令的符号链接,之后执行 rm 命令就相当于执行 safe-rm
ln -s /usr/local/bin/safe-rm /usr/local/bin/rm
设置环境变量,要保证/usr/local/bin在其他变量路径前面
先查看当前变量的顺序,可以看到/usr/local/bin没有在其他路径的最前面:
[root@localhost /]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
修改编辑配置文件/etc/profile
,添加下面一行
PATH=/usr/local/bin:$PATH
保存后,执行 source /etc/profile
,使配置生效; 以后用 rm 命令删除,就相当执行的 safe-rm 命令了。
3、设置路径黑名单
创建/etc/safe-rm.conf文件,将重要文件或者目录的完整路径输入进去保存就可以了,每条以回车分隔。
[root@localhost /]# cat /etc/safe-rm.conf / /bin /boot /dev /etc /home /initrd /lib /proc /root /sbin /sys /usr /usr/bin /usr/include /usr/lib /usr/local /usr/local/bin /usr/local/include /usr/local/sbin /usr/local/share /usr/sbin /usr/share /usr/src /var
/opt/test /root/testone
在我们删除时候:rm -rf /root/testone safe-rm: skipping /root/testone 当然还有个小问题,这里也适用于一些通配,比如我写的不能删除testone但是testone里面的能不能删除呢,答案是能删除的,所以就要再设置/root/testone/*就好了