1. 程式人生 > >Linux下防止rm -rf /命令誤刪除

Linux下防止rm -rf /命令誤刪除

做伺服器運維的人眾所周知, rm -rf / 命令在Linux下執行後,就是一場災難。

好吧,先看一個事例,瞭解下這個命令的恐怖>>>一個命令rm -rf/ ,他把整個公司刪沒了

為了防止這種誤刪除操作,找了很多辦法,有建議回收站機制、也有說給重要目錄設定許可權等等方法、還有替換rm刪除命令的方法;總結了一下,還是覺得替換rm命令比較簡單直接,這裡就記錄一下替換 rm 命令的方法。

原理:
首先我們需要用到的軟體(其實就是一個命令): safe-rm ,它具有 rm 命令的所有功能,不過 safe-rm 命令可以設定路徑黑名單,也就是說在黑名單中的目錄或檔案將不會被刪除;我們把 rm 命令替換為 safe-rm ,之後執行 rm 命令也就相當於執行 safe-rm 命令,也就不會誤刪除黑名單中的目錄或檔案了。

safe-rm命令下載:百度網盤  官網下載

1、下載到Linux伺服器後並解壓縮,複製safe-rm-0.12下的 safe-rm 命令到/usr/local/bin目錄

cp /opt/safe-rm-0.12/safe-rm /usr/local/bin/

注:我是解壓縮到//opt/safe-rm-0.12目錄下的。

現在已經可以直接用safe-rm命令進行刪除操作了,用法和引數和 rm 是一樣的,不過還沒有替換為 rm

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沒有在其他路徑的最前面:

[[email protected] /]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

修改編輯配置檔案/etc/profile,新增下面一行

PATH=/usr/local/bin:$PATH

儲存後,重啟整個伺服器,使配置生效;重啟後,用 rm 命令刪除,就相當執行的 safe-rm 命令了。

3、設定路徑黑名單

建立/etc/safe-rm.conf檔案,將重要檔案或者目錄的完整路徑輸入進去儲存就可以了,每條以回車分隔。

[[email protected] /]# cat /etc/safe-rm.conf 
/opt/test
/

我這裡加了2個路徑,一個根目錄,一個/opt/test目錄。

好了,到這裡就完成了,執行 rm -rf /  rm -rf /opt/test 將不會刪除其目錄,會提示跳過刪除(最好先找個測試目錄進行實驗,別弄不好成災難了....)。
QQ截圖20171124105550
總結:其實,只要用點心,仔細一些,誤操作的機率還是比較少的;有句話說的好,刀可以殺豬,也可以殺人,關鍵在於拿刀的人...