替换系统的rm,以防出现rm -rf /* 这样的毁灭性错误。


系统

centos7系统


下载包

# wget -c  https://launchpadlibrarian.net/188958703/safe-rm-0.12.tar.gz


解压

# tar -zxf safe-rm-0.12.tar.gz


# cd safe-rm-0.12


把safe-rm替换系统的rm

# mv safe-rm /usr/local/bin/rm


# chown root:root /usr/local/bin/rm


修改系统环境配置文件

# vi /etc/profile

添加

PATH=/usr/local/bin:/bin:/usr/bin:$PATH

注意把safe-rm的路径配置在其他的前面


测试

# rm

/bin/rm: missing operand

Try '/bin/rm --help' for more information.


创建目录

# mkdir -p /1/2/3


# mkdir -p /2/3/4


编辑safe-rm配置文件,添加

# vi /etc/safe-rm.conf

/1/2/3


在配置文件添加的目录删除不了

# rm -rm /1/2/3

safe-rm: skipping /1/2/3

/bin/rm: invalid option -- 'm'

Try '/bin/rm --help' for more information.


不在配置文件添加的目录可以删除

# rm -rf /2/3/4


可以根据自己需求在safe-rm配置文件中添加相应目录或者文件,如下所示:


/

/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

/etc/safe-rm.conf