Linux小知識:rm -rf/*會將系統全部刪除嗎


Linux小知識:rm -rf/*會將系統全部刪除嗎

本文是學習筆記,視頻地址為:https://www.bilibili.com/video/av62839850

執行上面的命令並不會刪除所有內容(我勸你善良,不要試),並不能刪除所有的文件,因為chattr可以設置哪些文件即使是root用戶也不能刪除。

拓展:

來源:http://www.ha97.com/5172.html

有時候你發現用root權限都不能修改某個文件,大部分原因是曾經用chattr命令鎖定該文件了。chattr命令的作用很大,其中一些功能是由Linux內核版本來支持的,不過現在生產絕大部分跑的linux系統都是2.6以上內核了。通過chattr命令修改屬性能夠提高系統的安全性,但是它並不適合所有的目錄。chattr命令不能保護/、/dev、/tmp、/var目錄。lsattr命令是顯示chattr命令設置的文件屬性。

這兩個命令是用來查看和改變文件、目錄屬性的,與chmod這個命令相比,chmod只是改變文件的讀寫、執行權限,更底層的屬性控制是由chattr來改變的。

chattr命令的用法:chattr [ -RVf ] [ -v version ] [ mode ] files…
最關鍵的是在[mode]部分,[mode]部分是由+-=和[ASacDdIijsTtu]這些字符組合的,這部分是用來控制文件的
屬性。
+ :在原有參數設定基礎上,追加參數。- :在原有參數設定基礎上,移除參數。= :更新為指定參數設定。A:文件或目錄的 atime (access time)不可被修改(modified), 可以有效預防例如手提電腦磁盤I/O錯誤的發生。S:硬盤I/O同步選項,功能類似sync。a:即append,設定該參數后,只能向文件中添加數據,而不能刪除,多用於服務器日志文件安全,只有root才能設定這個屬性。c:即compresse,設定文件是否經壓縮后再存儲。讀取時需要經過自動解壓操作。d:即no dump,設定文件不能成為dump程序的備份目標。i:設定文件不能被刪除、改名、設定鏈接關系,同時不能寫入或新增內容。i參數對於文件 系統的安全設置有很大幫助。j:即journal,設定此參數使得當通過mount參數:data=ordered 或者 data=writeback 掛 載的文件系統,文件在寫入時會先被記錄(在journal中)。如果filesystem被設定參數為 data=journal,則該參數自動失效。s:保密性地刪除文件或目錄,即硬盤空間被全部收回。u:與s相反,當設定為u時,數據內容其實還存在磁盤中,可以用於undeletion。各參數選項中常用到的是a和i。a選項強制只可添加不可刪除,多用於日志系統的安全設定。而i是更為嚴格的安全設定,只有superuser (root) 或具有CAP_LINUX_IMMUTABLE處理能力(標識)的進程能夠施加該選項。

應用舉例:

1、用chattr命令防止系統中某個關鍵文件被修改:
# chattr +i /etc/resolv.conf

然后用mv /etc/resolv.conf等命令操作於該文件,都是得到Operation not permitted 的結果。vim編輯該文件時會提示W10: Warning: Changing a readonly file錯誤。要想修改此文件就要把i屬性去掉: chattr -i /etc/resolv.conf

# lsattr /etc/resolv.conf
會顯示如下屬性
----i-------- /etc/resolv.conf

2、讓某個文件只能往里面追加數據,但不能刪除,適用於各種日志文件:
# chattr +a /var/log/messages

參數 作用
i 將無法對文件進行修改,若對目錄設置后則僅能修改子文件而不能新建或刪除。
a 僅允許補充(追加)內容.無法覆蓋/刪除(Append Only)。
S 文件內容變更后立即同步到硬盤(sync)。
s 徹底從硬盤中刪除,不可恢復(用0填充原文件所在硬盤區域)。
A 不再修改這個文件的最后訪問時間(atime)。
b 不再修改文件或目錄的存取時間。
D 檢查壓縮文件中的錯誤。
d 當使用dump命令備份時忽略本文件/目錄。
c 默認將文件或目錄進行壓縮。
u 當刪除此文件后依然保留其在硬盤中的數據,方便日后恢復。
t 讓文件系統支持尾部合並(tail-merging)。
X 可以直接訪問壓縮文件的內容。

另外,執行完上面的那個核彈命令后,幾乎所有的linux命令也沒辦法執行了,因為在linux中“萬物皆文件”,命令也是文件(我們可以借助which命令來找到命令所在的文件目錄),所以命令也被刪除了,但是rm命令沒有,因為命令不能刪除自己


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM