【刪庫(kù)跑路】—Linux系統(tǒng)自殺實(shí)驗(yàn) rm -rf /* 及如何搶救和預(yù)防
事情是這樣的
想必大家都聽(tīng)說(shuō)過(guò)一個(gè)笑話:一個(gè)程序員去公司面試,面試官讓他隨便寫(xiě)個(gè)shell腳本看看
結(jié)果程序員在公司機(jī)器上寫(xiě)了個(gè)簡(jiǎn)單的 rm -rf? /*
今天博主好奇到無(wú)聊,想看看到底會(huì)有什么效果呢。
就拿了一臺(tái)不用的廢棄虛擬機(jī)系統(tǒng)玩了一把。
在這里跟大家,匯報(bào)一下戰(zhàn)果:
大家一定注意謹(jǐn)慎:玩完之后,絕大部分?jǐn)?shù)據(jù)無(wú)法恢復(fù),系統(tǒng)會(huì)基本完全崩潰狀態(tài),
建議在廢棄的機(jī)器上玩可以,正式環(huán)境千萬(wàn)不要,另外大家寫(xiě)刪除命令的時(shí)候,也一定要小心
Linux機(jī)器準(zhǔn)備
首先找了臺(tái)好久不用的虛擬機(jī),回到根目錄下,直接執(zhí)行rm -rf * ;
然后就開(kāi)始看到系統(tǒng)開(kāi)始從根目錄開(kāi)始刪除
開(kāi)始報(bào)一些無(wú)法刪除的錯(cuò)誤
因?yàn)橐恍┱谶\(yùn)轉(zhuǎn)的misc net等硬件文件 無(wú)法刪除
當(dāng)我們誤操作的時(shí)候,發(fā)現(xiàn)這些rm: cannot remove...,就趕緊中止還有得救
相關(guān)路徑解讀
boot:?jiǎn)?dòng)路徑,部分文件,正在運(yùn)行刪不掉。
misc net:硬件相關(guān)運(yùn)行中,不允許刪除。
dev/shm:
/dev:目錄下一般都是一些設(shè)備硬件文件,例如磁盤(pán)、內(nèi)存、攝像頭、網(wǎng)卡等等。
/dev/shm: 這個(gè)目錄是linux下一個(gè)利用內(nèi)存虛擬出來(lái)的一個(gè)目錄,這個(gè)目錄中的文件都是保存在內(nèi)存中,而不是磁盤(pán)上。
其大小是非固定的,即不是預(yù)先分配好的內(nèi)存來(lái)存儲(chǔ)的。(shm == shared memory)
dev/pts/ptmx
ptmx 虛擬終端相關(guān)文件 系統(tǒng)不讓刪除
Linux終端:
另外sys目錄下的一些系統(tǒng)文件包括,
掛載的磁盤(pán)信息等,root也是沒(méi)有權(quán)限刪除的,
其余的文件夾 opt mnt home root等等 統(tǒng)統(tǒng)被刪除
Linux掙扎了一下:sys/block的塊設(shè)備不讓刪除、
nfs文件系統(tǒng)的緩存、掛載記錄、鎖等不讓刪除
==============
rm -rf /* 運(yùn)行完之后
刪除完成之后,我們?cè)诟夸浵驴匆幌拢?/p>
ls 命令已經(jīng)沒(méi)有了,這是因?yàn)榇娣琶畹?bin目錄下的所有二進(jìn)制命令文件都被刪除了,
包括 yum pwd 等等統(tǒng)統(tǒng)沒(méi)有了,只有cd命令還在,
這是因?yàn)閏d命令并不在/bin下
whereis cd :查看一下,cd在/usr/bin目錄下
可以看到根目錄下 只剩下/boot的啟動(dòng)文件夾。
硬件相關(guān)的misc net dev
sys系統(tǒng)相關(guān)文件夾
這是給我們下次啟動(dòng)時(shí) 進(jìn)行啟動(dòng)牽引,牽引到grub界面 之后,由
于系統(tǒng)中所有的東西都被我們刪除了,所以就卡死在grub界面 無(wú)法進(jìn)內(nèi)核。
搶救及預(yù)防措施
這個(gè)命令是極其危險(xiǎn)的,所以一旦誤操作
1、中止命令
首先,在意識(shí)到命令執(zhí)行時(shí),立即按Ctrl+C 終止命令。盡可能的保護(hù)系統(tǒng)文件。
2、不要退出當(dāng)前shell,不要重啟
因?yàn)椋覀儾磺宄?,到底有哪些文件被刪除了。
我們總會(huì)下意識(shí)的覺(jué)得,重啟下就好了。這個(gè)時(shí)候千萬(wàn)不要重啟,因?yàn)橐恢貑?,你可能無(wú)法再進(jìn)入系統(tǒng),連最后搶救的機(jī)會(huì)都沒(méi)有了。
3、系統(tǒng)文件夾遷移
系統(tǒng)根目錄下,大體就是這幾個(gè)文件夾。
像/bin /sbin :主要是存儲(chǔ)一些命令的文件夾。如果被刪除了,我們可以通過(guò)從其他的服務(wù)器,將/bin目錄,壓縮,拷到當(dāng)前服務(wù)器解壓,進(jìn)行替換。
4、系統(tǒng)快照
這是一個(gè)非常實(shí)用的方法。我們可以定時(shí)做系統(tǒng)快照,例如:每天凌晨2點(diǎn),對(duì)系統(tǒng)做一個(gè)快照;也可以每逢比較重大的系統(tǒng)更新或者服務(wù)搭建之后,做一個(gè)快照。
這樣,當(dāng)我們誤操作之后,就會(huì)有一個(gè)回退的備份。
5、命令重寫(xiě)
可以將rm -rf 重寫(xiě),構(gòu)造一個(gè)回收站,可以參考博主的這篇博文:
“你的rm -rf /*,我接盤(pán)了“——?jiǎng)偖厴I(yè)的運(yùn)維小姐姐總誤刪文件,我送了她一個(gè)命令行版 “回收站”
推薦閱讀
pygame系列文章
一起來(lái)學(xué)pygame吧 游戲開(kāi)發(fā)30例(開(kāi)篇詞)——環(huán)境搭建+游戲效果展示
一起來(lái)學(xué)pygame吧 游戲開(kāi)發(fā)30例(一)——迷宮小游戲
一起來(lái)學(xué)pygame吧 游戲開(kāi)發(fā)30例(二)——塔防游戲
一起來(lái)學(xué)pygame吧 游戲開(kāi)發(fā)30例(三)——射擊外星人小游戲
一起來(lái)學(xué)pygame吧 游戲開(kāi)發(fā)30例(四)——俄羅斯方塊小游戲
一起來(lái)學(xué)pygame吧 游戲開(kāi)發(fā)30例(五)——消消樂(lè) 小游戲
一起來(lái)學(xué)pygame吧 游戲開(kāi)發(fā)30例(六)——高山滑雪 小游戲
python及安全系列
【滲透測(cè)試實(shí)戰(zhàn)】具體案例——講講SQL注入攻擊是怎么回事?
python你TM太皮了——區(qū)區(qū)30行代碼就能記錄鍵盤(pán)的一舉一動(dòng)
女神相冊(cè)密碼忘記了,我只用Python寫(xiě)了20行代碼~~~
如何用ssh工具連接前臺(tái)小姐姐的“小米手機(jī)”——雷總看了直呼內(nèi)行?。?!
叫你別隨便重啟Redis?。。≡趺礃?數(shù)據(jù)全丟了吧~~~
沒(méi)錯(cuò)!python只需要一行代碼?。?!實(shí)現(xiàn)文件共享服務(wù)器?。。?/p>
Windows域控策略
Windows域策略設(shè)置 禁止客戶端修改IP地址【全域策略生效】
Windows域控去掉密碼強(qiáng)度策略 可以設(shè)置簡(jiǎn)單密碼【全域策略生效】
Windows域控設(shè)置 10分鐘自動(dòng)鎖屏的域策略 【全域策略生效】
滲透測(cè)試實(shí)戰(zhàn)專欄
Windows AD/Exchange管理專欄
Linux高性能服務(wù)器搭建
PowerShell自動(dòng)化專欄
Linux Python Windows
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。