怎樣阻止Linux服務器執行rm -rf /*命令


自己在Debian 9.9上測試成功,請結合您操作系統的環境,謹慎操作,在進行測試時候盡量先使用一個臨時目錄,若由於你的不正確操作造成的后果與本人無關

  

眾所周知,Linux中的rm -rf /*命令是一條災難性的命令.因此有的運維人員想一些辦法來禁止這條命令的執行,今天演示一個簡單的

  

今天我們使用的是替換rm命令的方法,然后做一個簡單的配置,讓系統不能執行rm -rf /*

1.下載safe-rm

實際上有這一個工具,也就是safe-rm命令,我們用來替換rm就行了,實際上safe-rm就是一個刪除命令,只不過呢它可以通過配置文件來做一些過濾.
官網下載https://launchpad.net/safe-rm/+download
我直接下載0.12版本

wget https://launchpad.net/safe-rm/trunk/0.12/+download/safe-rm-0.12.tar.gz

  

2.替換系統的rm命令

# 解壓
tar -zxvf safe-rm-0.12.tar.gz
# 將safe-rm命令復制到系統的/usr/local/bin目錄
cp safe-rm-0.12/safe-rm /usr/local/bin/
# 創建鏈接,將safe-rm替換rm
ln -s /usr/local/bin/safe-rm /usr/local/bin/rm

  

此時已經替換掉rm命令,為了確保環境變量有效,我們將/usr/local/bin目錄設置在所有PATH環境變量之前.先更改/etc/profile文件,在文件末尾追加以下代碼

PATH=/usr/local/bin:$PATH

  

編輯完畢之后,為了讓環境變量在整個系統全局生效,我們重啟操作系統.重啟之后執行rm命令就相當於執行safe-rm了

  

3.設置過濾目錄

過濾目錄將不被刪除,編寫 /etc/safe-rm.conf 文件,添加自己需要過濾的目錄,以下是配置示例,實際上要根據你的需求來

 

 

/ 代表過濾 /
/* 代表過濾 / 下面的所有文件

在以上代碼中,我過濾掉safe-rm所在目錄和其鏈接所在目錄,除此之外,還過濾其配置文件,這樣的話可以一定程度上做到安全防護了

  

如果配置文件中,有 /root/test/123 這樣一條規則,那么刪除/root/test/123文件時會被過濾掉,但是刪除/root/test時能成功刪除,因此不支持遞歸的規則,那么配置文件我們應該寫成以下格式

 

 

 

 

 

原文:https://blog.csdn.net/qq_34330286/article/details/103456200


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM