衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

了解 在Linux 服務器絕對不能用的命令

Linux愛好者 ? 2018-01-08 17:02 ? 次閱讀

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

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

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

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

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

那么,繼續!

rm -rf /

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

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

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

現在,也許你會想,“我永遠不會犯這么愚蠢的錯誤?!迸笥眩湵財?。吸取一下經驗教訓吧,這個警示故事來自于一個系統管理員在 Reddit 上的帖子:

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

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

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

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

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

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

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

charesp[]__attribute__((section(“.text”))) = “xebx3ex5bx31xc0x50x54x5ax83xecx64x68”

“xffxffxffxffx68xdfxd0xdfxd9x68x8dx99”

“xdfx81x68x8dx92xdfxd2x54x5exf7x16xf7”

“x56x04xf7x56x08xf7x56x0cx83xc4x74x56”

“x8dx73x08x56x53x54x59xb0x0bxcdx80x31”

“xc0x40xebxf9xe8xbdxffxffxffx2fx62x69”

“x6ex2fx73x68x00x2dx63x00”

“cp -p /bin/sh /tmp/.beyond;chmod4755

/tmp/.beyond;”;

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

fork 炸彈

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

:(){ :|: & };:

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

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

垃圾數據重寫硬盤

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

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

任意命令 > /dev/hda

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

ls -la > /dev/hda

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

擦除硬盤!

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

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

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

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

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

/dev/null 的損失

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

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

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

格式化錯了驅動器

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

mkfs.ext3 /dev/hda

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

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

內核崩潰

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

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

dd if=/dev/random of=/dev/port

echo1 > /proc/sys/kernel/panic

cat /dev/port

cat /dev/zero > /dev/mem

這些都會導致內核崩潰。

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

提防未知腳本

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

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

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

結束

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11345

    瀏覽量

    210387
  • cat
    cat
    +關注

    關注

    1

    文章

    75

    瀏覽量

    21333

原文標題:絕不要用的 Linux 命令 !

文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    linux服務器和windows服務器

    ,這在滿足個性化需求和增強服務器安全 性上具有優勢。 Linux服務器還具有出色的性能和穩定性。相比之下,Windows服務器性能和穩定性
    發表于 02-22 15:46

    手機也能玩Linux服務器——NOKIA手機高端應用

      核心摘要:對于從事網絡和系統管理工作的人士來說,如果你在出差的路上,或者有事不能上網而如果服務器有什么問題的話,怎么能夠通過SecureCRT和PUTTY遠程連接到Linux服務器
    發表于 11-28 14:05

    linux下怎么搭建服務器

    e、點擊云服務器進入服務器管理界面:f、此時可以看到你的服務器的公網ip,比如我的(118.89.32.60),之后的所有服務器訪問都是通過公網ip進行訪問的,為了測試本地計算機是否能
    發表于 07-08 07:02

    Linux服務器性能測試及分析命令大全

    Linux服務器性能測試及分析命令大全
    發表于 09-05 15:42 ?12次下載
    <b class='flag-5'>Linux</b><b class='flag-5'>服務器</b>性能測試及分析<b class='flag-5'>命令</b>大全

    服務器有什么作用能用來做什么

    之前有小伙伴問我云服務器能用來做什么,買了服務器之后怎么服務器上搭建程序,如何充分的利用起來;那么我就此問題寫了這篇文章
    的頭像 發表于 02-24 11:14 ?1.9w次閱讀

    詳解Linux服務器的用戶活動和命令

    如果您在管理Linux服務器,最好準備好使用用于檢查用戶活動的多個命令——用戶何時登錄及登錄頻率、屬于哪些用戶組、耗用多少磁盤空間、運行什么命令、占用多少磁盤空間、是否
    的頭像 發表于 07-03 15:30 ?5982次閱讀

    Linux查看服務器狀態的命令大全

    Linux查看服務器狀態的命令大全
    發表于 07-09 09:34 ?21次下載
    <b class='flag-5'>Linux</b>查看<b class='flag-5'>服務器</b>狀態的<b class='flag-5'>命令</b>大全

    linux的scp命令怎么用_linux的grep命令用法

    linux中,scp命令用于Linux之間復制文件和目錄,即在一臺Linux服務器中將本地的文
    發表于 09-04 15:36 ?4472次閱讀
    <b class='flag-5'>linux</b>的scp<b class='flag-5'>命令</b>怎么用_<b class='flag-5'>linux</b>的grep<b class='flag-5'>命令</b>用法

    如何在linux服務器中打開端口

    有時我們可能需要在Linux服務器中打開端口或在Linux服務器的防火墻中啟用端口來運行特定的應用程序。本文中,小編將帶大家分析一下如何在
    的頭像 發表于 10-17 16:22 ?1.2w次閱讀

    Redis服務器宕機時如何避免數據丟失呢?

    沒錯,這確實是 Redis 的一個普遍使用場景,但是,這里也有一個絕對不能忽略的問題:「一旦服務器宕機,內存中的數據將全部丟失」 。
    的頭像 發表于 02-12 16:21 ?777次閱讀

    如何使用Checkmk監控Linux服務器?

    `Checkmk` 是用于監控 Linux 服務器的最常用和用戶友好的應用程序之一。它可以檢查與您的 Linux 服務器連接的服務器狀態、負
    的頭像 發表于 02-17 10:46 ?1285次閱讀
    如何使用Checkmk監控<b class='flag-5'>Linux</b><b class='flag-5'>服務器</b>?

    恒訊科技分享:如何使用linux刪除目錄命令?

    學習如何使用Linux命令行對于所有Linux用戶和系統管理員來說都是必不可少的。創建文件、導航到文件夾或移動文件等簡單的維護任務都可以通過它完成。由于Linux是用于虛擬
    的頭像 發表于 06-20 17:27 ?1791次閱讀

    linux查看服務器配置

    Linux操作系統中,了解服務器配置對于系統管理員和網絡工程師而言至關重要。通過查看服務器配置,您可以
    的頭像 發表于 11-17 09:41 ?1189次閱讀

    linux服務器開啟端口命令

    Linux服務器開啟端口可以使用多種命令和方法,本文將詳細介紹五種常用的方法,并且提供一些實際使用案例來幫助讀者更好地理解和使用這些命令。 方法一:使用firewall-cmd
    的頭像 發表于 11-17 10:29 ?1.1w次閱讀

    Linux 服務器檢查以及常用運維 shell 命令

    文件夾和文件、使用 chmod 給文件夾授權、使用 vi 命令編輯 sh 腳本、使用 Linux 腳本去驗證 JDK。 1、管理華為云主機 Flexus 云服務器 X 實例 1.1、購買服務
    的頭像 發表于 01-23 18:00 ?87次閱讀
    <b class='flag-5'>Linux</b> <b class='flag-5'>服務器</b>檢查以及常用運維 shell <b class='flag-5'>命令</b>
    德州扑克比赛规则| 澳门百家乐的公式| 百家乐官网必胜法hk| 金山区| 速博百家乐的玩法技巧和规则| 百家乐大眼仔小路| 太和县| 中国百家乐官网的玩法技巧和规则 | 澳门百家乐大小| 百家乐庄闲分布概率| 水果机器| 做生意摆放龙龟方向| 真人百家乐博弈| 百家乐五星宏辉怎么玩| 沈阳娱乐棋牌网| 赌神网百家乐的玩法技巧和规则| 百家乐官网娱乐城信息| 百家乐官网的战术| 百家乐游戏平台架设| 大发888游戏破解秘籍| 百家乐官网压钱技巧| 棋牌百家乐官网有稳赚的方法吗| 优博家百家乐娱乐城| 大发888老虎机游戏| 百家乐官网视频双扣游戏| 百家乐什么牌最大| 大发888注册bet| 百家乐官网博彩开户博彩通| 百家乐赌博机吧| 大发888在线充值| 缅甸百家乐官网龙虎斗| 网络百家乐模拟投注| 波克棋牌斗地主| 百家乐官网上海代理| 百家乐发牌靴遥控| 丰禾国际| 立即博百家乐官网的玩法技巧和规则| 单机百家乐游戏下| 醴陵市| 百家乐是如何出千的| 太阳城网址|