從Windows轉(zhuǎn)Linux必看!一文精通Linux存儲管理的核心秘密
當前位置:點晴教程→知識管理交流
→『 技術文檔交流 』
如果你來自Windows環(huán)境,那么Linux處理和管理存儲設備的方式對你而言可能顯得格外不同。我們知道,Linux的文件系統(tǒng)并不采用Windows那樣的物理驅(qū)動器表示方式(如C:、D:或E:),而是構建了一個以"/"為根的統(tǒng)一文件樹結構。本文將深入探討Linux如何表示和管理硬盤、閃存驅(qū)動器等存儲設備。 在進入技術細節(jié)之前,我們首先需要理解如何將額外的驅(qū)動器和存儲設備掛載到文件系統(tǒng)中,最終集成到根目錄"/"下。在這個語境中,"掛載"意味著將驅(qū)動器或磁盤連接到文件系統(tǒng),使操作系統(tǒng)能夠訪問它們。對安全分析人員而言,深入理解文件系統(tǒng)和存儲設備管理機制至關重要,這不僅涉及自身系統(tǒng),更常見于目標系統(tǒng)分析。安全研究人員經(jīng)常需要使用外部媒體加載數(shù)據(jù)、部署工具,有時甚至需要引導完整的操作系統(tǒng)。在滲透測試過程中,你需要準確定位目標系統(tǒng)上的敏感數(shù)據(jù),理解如何掛載新的存儲設備,以及評估數(shù)據(jù)存儲的安全性。本文將全面覆蓋這些主題,并詳細介紹存儲設備的管理與監(jiān)控技術。
設備目錄 /devLinux系統(tǒng)中存在一個專門用于管理設備文件的特殊目錄:/dev(device的縮寫)。系統(tǒng)中的每個設備都在這個目錄下有對應的文件表示。讓我們首先深入了解這個關鍵目錄。
設備文件按字母順序排列顯示。其中一些設備名稱如cdrom和cpu較為直觀,而其他則相對晦澀。值得注意的是sda1、sda2、sda3、sdb和sdb1等條目,它們分別代表了硬盤及其分區(qū)、USB存儲設備及其分區(qū)。
Linux如何表示存儲設備Linux采用邏輯標簽來標識掛載到文件系統(tǒng)的驅(qū)動器。這些標簽會根據(jù)設備的掛載時間和位置動態(tài)變化,這意味著同一個物理設備在不同時刻可能會獲得不同的標識符。 早期Linux系統(tǒng)使用fd0表示軟盤驅(qū)動器,使用hda表示硬盤。雖然在某些遺留系統(tǒng)中仍可能遇到這種表示方式,但現(xiàn)代系統(tǒng)已經(jīng)很少見到軟盤設備。采用IDE或E-IDE接口的傳統(tǒng)硬盤仍使用hda形式的標識,而新型的SATA(串行ATA)接口驅(qū)動器和SCSI硬盤則采用sda的命名方式。 存儲設備往往會劃分為多個分區(qū),這些分區(qū)在Linux中用數(shù)字標識。當系統(tǒng)包含多個存儲設備時,Linux通過字母遞增的方式為它們命名:第一個設備為sda,第二個為sdb,依此類推。這種命名規(guī)則中,sd后的字母通常被稱為主編號。 驅(qū)動器分區(qū)在存儲管理中,驅(qū)動器常被劃分為多個分區(qū)以實現(xiàn)更有效的資源管理和數(shù)據(jù)隔離。例如,你可能需要將交換文件、用戶主目錄和根目錄分別置于不同分區(qū)——這種策略有助于資源共享管理和權限控制。Linux使用設備標識符后的數(shù)字來標記各個分區(qū)。因此,第一個SATA驅(qū)動器(sda)的第一個分區(qū)表示為sda1,第二個分區(qū)為sda2,以此類推。 在安全分析過程中,了解系統(tǒng)的分區(qū)布局至關重要。我們可以使用fdisk工具來查看分區(qū)信息:
在這個輸出中,我們可以看到sda1、sda2和sda5構成了虛擬機的20GB虛擬磁盤,包括一個交換分區(qū)(sda5)作為虛擬RAM的擴展,類似于Windows的頁面文件。 第二部分顯示了一個標識為sdb1的設備——字母b表明這是一個獨立的設備。這里是一個64GB的閃存驅(qū)動器,使用HPFS/NTFS/ExFAT文件系統(tǒng)。這些文件系統(tǒng)類型通常見于macOS和Windows系統(tǒng),在取證分析中可能提供有價值的線索,指示設備的來源系統(tǒng)。 字符設備和塊設備在/dev目錄中,設備文件名的第一個字符(c或b)具有特殊含義。這些標識反映了設備的數(shù)據(jù)傳輸方式:
理解設備類型對于安全分析和性能優(yōu)化具有重要意義。 使用lsblk列出塊設備及其信息lsblk命令(list block devices的縮寫)能夠以樹狀結構顯示系統(tǒng)中所有塊設備的基本信息:
掛載和卸載在大多數(shù)現(xiàn)代Linux系統(tǒng)中,存儲設備連接時會自動掛載。但對安全專業(yè)人員而言,理解手動掛載過程仍然重要,因為在特殊場景下可能需要使用特定的掛載選項。 存儲設備必須同時滿足物理連接和邏輯掛載才能被操作系統(tǒng)訪問。"掛載"這個術語源自早期計算機時代,當時存儲介質(zhì)需要物理地"掛"到計算機系統(tǒng)上。 設備在目錄樹中的連接點被稱為掛載點。Linux主要使用兩個標準掛載點:
手動掛載存儲設備某些Linux環(huán)境下需要手動掛載驅(qū)動器。掛載命令的基本語法如下:
注意:掛載點必須是空目錄,否則掛載操作會暫時遮蔽該目錄下的原有內(nèi)容。同樣,要掛載閃存驅(qū)動器sdc1到/media目錄:
系統(tǒng)會在/etc/fstab(文件系統(tǒng)表)文件中維護掛載信息,每次啟動時都會讀取該文件。 使用umount卸載安全移除存儲設備前需要先執(zhí)行卸載操作,這與Windows/Mac中的"彈出"設備概念類似。使用umount命令(注意拼寫沒有'n')執(zhí)行卸載:
重要提示:正在被訪問的設備無法卸載,系統(tǒng)會返回錯誤信息。 監(jiān)控文件系統(tǒng)對于安全專業(yè)人員和系統(tǒng)管理員來說,監(jiān)控文件系統(tǒng)狀態(tài)是一項核心技能。這包括獲取掛載設備信息、檢查和修復錯誤等。 獲取掛載磁盤的信息df命令(disk free的縮寫)提供了存儲設備的使用情況統(tǒng)計:
輸出顯示了每個文件系統(tǒng)的總?cè)萘?、已用空間和可用空間。例如,根文件系統(tǒng)使用了92%的空間,而USB驅(qū)動器幾乎已滿(99%)。 檢查錯誤fsck命令(file system check的縮寫)用于檢查和修復文件系統(tǒng)錯誤:
卸載設備進行文件系統(tǒng)檢查執(zhí)行fsck前必須先卸載設備:
總結深入理解Linux存儲設備管理對安全專業(yè)人員至關重要。設備命名規(guī)則、掛載機制、文件系統(tǒng)檢查等知識不僅有助于日常系統(tǒng)維護,更是進行安全評估和事件響應的基礎。特別是在涉及數(shù)據(jù)恢復、取證分析等場景時,這些技能尤為重要。 閱讀原文:原文鏈接 該文章在 2025/1/13 11:26:05 編輯過 |
關鍵字查詢
相關文章
正在查詢... |