詳解Linux中如何安全地抹去磁盤數(shù)據(jù)
離過職的小伙伴都知道,離職的時候需要上交公司電腦,但是電腦里面有許多我們的個人信息(聊天記錄、瀏覽記錄等等)
所以我們就需要先把這些信息都刪除,確保無法恢復之后才上交
即有些情況下我們不得不以一種確保無法恢復的方式從磁盤上擦除所有信息
許多小伙伴可能認為使用文件管理器或者 rm
命令刪除數(shù)據(jù)可以保證安全性,但其實不然
因為 rm
命令或者文件管理器刪除文件只是刪除指向文件系統(tǒng)的指針(inode) ,所以原始數(shù)據(jù)仍可以使用
在 Linux 中,文件由指針部分(inode)和數(shù)據(jù)部分(data)組成
文件被刪除的時候,文件對應的 inode 就被刪除掉了,而文件的數(shù)據(jù)部分在 inode 被清除掉之后,就會被覆蓋并寫入新的內(nèi)容
下面我們來看一下在 Linux 中如何安全地抹去磁盤數(shù)據(jù)吧!
PS:文章中提到的命令請謹慎使用!別怪咸魚沒提醒大家
shred
我們先來看看 shred
命令,它是 Linux 中保護私人數(shù)據(jù)的最佳方式之一
shred
功能是重復覆蓋文件,只能使用專門的硬件并且極其困難地恢復數(shù)據(jù),所以它經(jīng)常被用來安全地擦除數(shù)據(jù)
shred
是 Linux 軟件包 coreutils
的一部分,所以一般情況下是默認安裝的
默認情況下,shered
會執(zhí)行三次,在執(zhí)行的時候,它會將偽隨機數(shù)據(jù)寫入設備。
例如我們要擦除 dev/sdb
設備
# -v 表示輸出執(zhí)行詳細信息 shred -v /dev/sdb
前面我們說到,shered
會執(zhí)行三次。但是執(zhí)行三次所需的時間太長了,我們可以通過 -n
來設置執(zhí)行次數(shù)
# 執(zhí)行一次 shred -v -n 1 /dev/sdb
我們還可以添加更多選項來提高從磁盤刪除數(shù)據(jù)的可靠性
shred -v -n 1 --random-source=/dev/urandom -z /dev/sdb
--random-source=/dev/urandom
:表示指定使用隨機生成的數(shù)據(jù)覆蓋磁盤。Linux 的特殊文件/dev/urandom
為內(nèi)核的隨機數(shù)生成器提供了一個接口-z /dev/sdb
:用 0 覆蓋到目前為止的所有內(nèi)容
wipe
看這個命令的名字就可以知道,這個命令用于擦除(wipe)磁盤中的數(shù)據(jù)
wipe
命令會重寫磁盤扇區(qū)并刷新緩存,這使得想要恢復數(shù)據(jù)是一件極其困難或者說不可能的事
Linux 默認沒有這個工具,我們需要先安裝
# 以 CentOS 7 為例 yum install -y wipe
這個命令很簡單,后面只需加上磁盤路徑即可
wipe /dev/sdb
ps:現(xiàn)在好像 wipe 這個工具安裝不了了,我試了多個鏡像源然后 yum 安裝的時候都說沒有該軟件包(安裝了拓展源也不行),有知道原因的小伙伴歡迎給我留言
dd
dd
可從標準輸入或文件中讀取數(shù)據(jù),根據(jù)指定的格式來轉(zhuǎn)換數(shù)據(jù),再輸出到文件、設備或標準輸出
dd
命令是 Linux 中另一種常用的擦除磁盤的方法,盡管該命令并不像 shred
和 wipe
那樣明確地用于從磁盤中擦除數(shù)據(jù),但它是 Linux 用戶廣泛使用的方法
例如下面的命令可以安全可靠地擦除 /dev/sdb
設備中的數(shù)據(jù)
dd if=/dev/urandom of=/dev/sdb bs=512 status=progress
if=/dev/urandom
:輸入文件,我們用/dev/urandom
生成隨機數(shù)據(jù)of=/dev/sdb
:輸出文件,表示要擦除的磁盤bs
:塊大?。ㄒ宰止?jié)為單位)
當顯示 “No space left on device”時,表示擦除成功完成
或者我們用 zero 字符串對磁盤進行覆蓋,而不是生成隨機數(shù)據(jù)
dd if=/dev/zero of=/dev/sdb bs=4096 status=progress
以上就是詳解Linux中如何安全地抹去磁盤數(shù)據(jù)的詳細內(nèi)容,更多關于Linux抹去磁盤數(shù)據(jù)的資料請關注腳本之家其它相關文章!
相關文章
詳解CentOS 6.5搭建Redis3.2.8單機分布式集群
這篇文章主要介紹了詳解CentOS 6.5搭建Redis3.2.8單機分布式集群,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-05-05Linux系統(tǒng)中檢查系統(tǒng)重啟記錄方案
通過Linux系統(tǒng)的日志文件和特定命令,系統(tǒng)管理員可以有效監(jiān)控和分析系統(tǒng)的重啟歷史,以便及時發(fā)現(xiàn)并解決潛在的系統(tǒng)問題和安全漏洞,保證系統(tǒng)穩(wěn)定高效運行,利用/var/log目錄和命令如last、uptime和journalctl2024-10-10eclipse3.2.2 + MyEclipse5.5 + Tomcat5.5.27 配置數(shù)據(jù)庫連接池
首先有一點要明確, 我是個新手, 而我所知道的只是一個表面, 根源我并不了解, 目前也不打算去深究. 所以我的方法, 可能只適用于eclipse3.2.2 + MyEclipse5.5 + Tomcat5.5.27 的數(shù)據(jù)庫連接池的配置, 其他版本我無法保證.至少Tomcat 6的admin包還沒出, 所以我的方法肯定不適用于Tomcat 6.2008-10-10CentOS6 配置Nginx,MySql,php-fpm開機啟動的方法
這篇文章主要介紹了CentOS6 配置Nginx,MySql,php-fpm開機啟動的方法的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-10-10詳解linux下批量替換文件內(nèi)容的三種方法(perl,sed,shell)
本篇文章主要介紹了linux下批量替換文件內(nèi)容的三種方法(perl,sed,shell),具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-04-04linux如何為已存在的用戶創(chuàng)建home目錄
這篇文章主要介紹了linux如何為已存在的用戶創(chuàng)建home目錄問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-04-04