如何使 Linux 系統崩潰
警告
-
下面的代碼行是 Bash shell 的一個簡短而甜蜜的 fork 炸彈。分叉炸彈之所以有效,是因為它能夠產生無限數量的進程。最終,Linux無法處理所有這些,并且會崩潰。 fork 炸彈的一大優點是你不需要 root 權限即可執行它并獲得所需的效果。
$ :(){ :|:& };:
查看我們的 Linux fork 炸彈指南,了解它們的工作原理以及如何防止它們使你的系統崩潰。
-
這是另一個 fork 炸彈,但這次是用 Perl 編寫的。這與 Bash fork炸彈一樣有效。嘗試運行兩者以查看測試系統如何響應(或不響應)。
$ perl -e "fork while fork" &
-
你可以使用簡單的 rm 命令刪除整個根目錄。這將很難恢復,并且簡單的重新啟動無法修復它,因此請謹慎運行。
$ sudo rm -rf / --no-preserve-root rm: it is dangerous to operate recursively on '/' rm: use --no-preserve-root to override this failsafe
正如你所看到的,我們的系統足夠智能,可以就該命令向我們發出警告。讓我們忽略這個警告并與我們的虛擬機吻別。
$ sudo rm -rf / --no-preserve-root
-
我們還可以使用簡單的 dd 命令將零寫入整個硬盤。這個尤其令人討厭,因為它可以覆蓋 Linux 環境之外其他分區上的數據。而且,更糟糕的是,我們沒有收到任何有關該命令危險的警告或確認提示。
$ sudo dd if=/dev/zero of=/dev/sda5
將
/dev/sda5
替換為您要刪除的設備或分區。執行此命令后,我們的測試系統只花了幾秒鐘就關閉并且無法恢復。
如何防止Linux崩潰
fork炸彈通過產生無盡的進程來工作。因此,我們可以通過限制一個用戶或一組用戶可以同時打開的進程數量來防止 fork 炸彈崩潰。但是,操作系統限制最大進程數量的配置通常存儲在 /etc/security/limits.conf
文件中。這個文件包含了一些系統級別的限制和策略,可以通過修改這個文件來調整進程數量等資源限制。
對于其他命令,例如刪除大量系統文件或覆蓋硬盤分區的命令,除了將 root 訪問權限限制為僅受信任的用戶之外,沒有簡單的方法可以阻止所有這些操作。最重要的是,你的用戶需要擁有安全的密碼,并且你應該對重要文件設置適當的文件權限。
推薦學習 https://xxetb.xetslk.com/s/p5Ibb