概念:在操作rm -rf删除文件的时候,要小心“/”、data、etc等配置文件等。尤其是删根(/)行为,如果你执行了rm -rf /*操作,那就准备跑路吧。因此,在日常工作中应养成良好的操作习惯,因此我们可以建立回收站机制或使用 safe-rm 开源软件来代替 rm,以此来防止误操作带来的严重后果。
1,下载安装包
wget https://launchpadlibrarian.net/188958703/safe-rm-0.12.tar.gz
2, 解压(最好放到usr/local中)
3,把解压文件夹中的safe-rm可执行文件,拷贝到/usr/local/bin中
4,建立软连接
ln -s /usr/local/bin/safe-rm /usr/local/bin/rm
5,配置环境变量
cd /etc
vim profile
export PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:$PATH
6.创建 safe-rm 配置文件,添加保护名单
全局配置:/etc/safe-rm.conf
用户配置:~/.safe-rm
#添加保护名单
/
/bin
/boot
/dev
/etc
/home
/initrd
/lib
/lib32
/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
/etc/safe-rm.conf
/home/pan.txt (测试文件)
测试 save-rm 是否生效
#创建测试文件
#touch /home/test.txt
#追加需要保护的文件路径到配置文件中
#vim /etc/safe-rm.conf
/home/test.txt
#测试删除受保护的文件路径,如果输出skipping日志代表safe-rm生效
#rm /home/test.txt
#rm -rf /home/test.txt
safe-rm: skipping /home/test.txt
#注意:
#配置文件里面的/etc只能保证执行"rm -rf /etc"命令的时候不能删除,但是如果执行"rm -rf /etc/app",还是可以删除app文件的
#如果想保证某个目录下面的所有文件都不被删除,则配置文件里可以写成/etc/*,但使用通配符的方式无法避免/etc目录下链接文件被删除
#例如/lib或/lib64这种目录,下面会有很多库文件对应的链接文件,使用safe-rm并不能保护链接文件被删除
#建议将/etc/safe-rm.conf加入到保护名单中,防止/etc/safe-rm.conf被删后配置失效
使用系统默认的删除命令
#使用系统默认的删除命令,此时safe-rm的保护作用将失效
#/usr/bin/rm -rf /etc/app