简介

在服务器中操作时难免需要删除文件,一旦操作失误可能会造成重要数据丢失,甚至导致系统崩溃,所以使用第三方工具 safe-rm 替换掉原来系统中的 rm 命令。

将safe-rm放置到 /usr/local/bin 目录下,在该目录下的命令优先级高于系统的原始命令,会对同名命令进行覆盖。

对于添加到 safe-rm 配置文件白名单中的路径,会在删除时进行检查,如果已配置,则会在删除时报错,并中断删除操作:

1
2
[root@business-data-0002 ~]# rm -rf /home/cty
safe-rm: skipping /home/cty

如果需要配置其他路径,可以在 /etc/safe-rm.conf 文件中进行配置保存即可。

下载安装 safe-rm

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# 有可能报错,等就行
wget -P /opt/ https://launchpad.net/safe-rm/trunk/0.13/+download/safe-rm-0.13.tar.gz
cd /opt/
tar -xzvf safe-rm-0.13.tar.gz
cd safe-rm*
# /usr/local/bin 中的命令优先级高于 /usr/bin,放在这里可以覆盖系统自带的 rm 命令
cp safe-rm /usr/local/bin
ln -s /usr/local/bin/safe-rm /usr/local/bin/rm
# 添加白名单
echo '/
/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/safe-rm-0.13
/disk
/disk/*
/home/cty
/home/cty/*' >> /etc/safe-rm.conf

快速安装及配置方法

1
2
3
4
# 随意到任意目录下
vim install-safe-rm.sh
# 将上面的所有命令复制进去 :wq 保存,然后运行下面的命令即可
bash install-safe-rm.sh