chattr
chattr
改變文件屬性。
chattr [-RV][-v<版本編號>][+/-/=<屬性>][文件或目錄...]
這些屬性共有以下8種:
A:即Atime,告訴系統不要修改對這個文件的最後訪問時間。
S:即Sync,一旦應用程序對這個文件執行了寫操作,使系統立刻把修改的結果寫到磁碟。
a:即Append Only,系統只允許在這個文件之後追加數據,不允許任何進程覆蓋或截斷這個文件。如果目錄具有這個屬性,系統將只允許在這個目錄下建立和修改文件,而不允許刪除任何文件。
b:不更新文件或目錄的最後存取時間。
c:將文件或目錄壓縮后存放。
d:當dump程序執行時,該文件或目錄不會被dump備份。
D:檢查壓縮文件中的錯誤。
i:即Immutable,系統不允許對這個文件進行任何的修改。如果目錄具有這個屬性,那麼任何的進程只能修改目錄之下的文件,不允許建立和刪除文件。
s:徹底刪除文件,不可恢復,因為是從磁碟上刪除,然後用0填充文件所在區域。
u:當一個應用程序請求刪除這個文件,系統會保留其數據塊以便以後能夠恢復刪除這個文件,用來防止意外刪除文件或目錄。
t:文件系統支持尾部合併(tail-merging)。
X:可以直接訪問壓縮文件的內容。
-R 遞歸處理,將指定目錄下的所有文件及子目錄一併處理。
-v<版本編號> 設置文件或目錄版本。
-V 顯示指令執行過程。
+<屬性> 開啟文件或目錄的該項屬性。
-<屬性> 關閉文件或目錄的該項屬性。
=<屬性> 指定文件或目錄的該項屬性。
chattr 命令的作用很大,其中一些功能是由Linux內核版本來支持的,如果Linux內核版本低於2.2,那麼許多功能不能實現。同樣-D檢查壓縮文件中的錯誤的功能,需要2.5.19以上內核才能支持。另外,通過chattr命令修改屬性能夠提高系統的安全性,但是它並不適合所有的目錄。chattr命令不能保護/、/dev、/var目錄。