Linux系統下防止誤刪文件的操作

說明:在網上會看到一些經常誤刪重要文件的操作,如果大家不怕麻煩就採用下面這種方式來處理文件吧。

1、本文主要講解的的是chattr和lsattr兩個命令的使用。

在Linux系統中文件可不止只有rwx三種權限,使用lsattr命令可以顯示出文件的隱藏屬性,如下圖所示:

                                

其中----ia----------代表就是文件的隱藏屬性,lsattr命令後面也可以跟參數,如下所示:

-a :將影藏屬性也顯示出來

-d :如果接的是目錄,僅列出目錄本身的屬性而非目錄內的文件名

-R :連同子目錄的數據也一同列出

隱藏屬性怎麼是設置呢?就需要用到了chattr命令,命令格式如下:

                                      chattr  [+-=]    [AacdiSstu]   文件或目錄

 參數:

 + :增加一項隱藏屬性參數,類似於chmod命令的"+";

 -  :  刪除一項隱藏屬性參數,類似於chmod命令的"-";

 = :  僅有等號後面列舉的參數。

A:設置了A這個屬性時,此文件(或目錄)的訪問時間atime將不會被修改。可避免I/O較慢的機器過度訪問磁盤。

a :  設置a之後,這個文件將只能增加數據,不能刪除或修改其中的數據,只有root才能設置這個屬性。

c : 這個屬性設置之後,將會自動將此文件壓縮,在讀取的時候會自動解壓縮,但是在存儲的時候,將會先進行壓縮後再存儲。

d : 當dump程序被執行的時候,設置d屬性將可使該文件(或目錄)不會被dump備份。

i : 它可以讓一個文件不能被刪除、改名,設置連接也無法寫入或添加數據。只有root才能設置這個屬性。

S: 一般文件是異步格式寫入磁盤的,如果加上S這個屬性時,對文件進行任何修改,將會“同步”寫入磁盤中。

s :  當文件設置了s屬性時,如果這個文件被刪除,它將會被完全從這個硬盤空間中刪除。

t : 具有't'屬性的文件在與其他文件合併的文件末尾不會有部分塊片段(對於那些支持尾部合併的文件系統)。

              u :  與s相反,當使用u來配置文件時,如果該文件被刪除了,則數據內容其實還存在磁盤中。

             實例圖:

 實例中,首先查看/etc/passwd文件的隱藏屬性,發現並沒有任何隱藏屬性;然後就使用chattr命令對/etc/passwd文件加上隱藏屬性a和i,意思是即使是root用戶,也不能對這個文件進行刪除、更名、修改其中的數據等操作。

如果事後想修改或刪除具有隱藏屬性的文件,那麼在chattr命令中使用"-"運算符就可以辦到,如下如所示:

這下就可以刪除沒有隱藏屬性的文件了(由於/etc/passwd是系統重要文件,就不演示刪除過程了)。

還有重要的一點是,如果一個文件夾具有隱藏屬性,例如文件夾/home具有隱藏屬性"ai",那麼它目錄裏面的文件都不可進行刪除或者更改等。所以如果碰到無法刪除或者更改的文件(或目錄),可以查看一下它的父目錄是不是具有隱藏屬性,以便我們可以更好地對文件進行操作。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章