歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux命令

Linux lsattr命令參數及使用方法詳解

lsattr 命令用於顯示文件隱藏屬性。用chattr執行改變文件或目錄的屬性,需用lsattr(list attribute)命令才能查詢其屬性。
lsattr 命令顯示文件系統屬性與ls 顯示的Linux文件系統屬性是兩個不同的概念。lsattr實現的屬性是文件系統的物理屬性,而ls顯示的文件屬性是操作系統進行管理文件系統的邏輯屬性。

lsattr 命令語法
lsattr [-adlRvV][文件或目錄...]  

lsattr 命令參數
-a  顯示所有文件和目錄,包括以"."為名稱開頭字符的額外內建,現行目錄"."與上層目錄".."。
-d  若目標文件為目錄,則顯示該目錄的屬性信息,而不顯示其內容的屬性信息。
-l  不得任意更動文件或目錄。
-R  遞歸處理,將指定目錄下的所有文件及子目錄一並處理。
-v  顯示文件或目錄版本。
-V  顯示版本信息。

chattr 命令語法
chattr [ -RVf ] [ -v version ] [ mode ] files…
最關鍵的是在[mode]部分,[mode]部分是由+-=和[ASacDdIijsTtu]這些字符組合的,這部分是用來控制文件的屬性。

chattr命令參數
+   在原有參數設定基礎上,追加參數。
-    在原有參數設定基礎上,移除參數。
=   更新為指定參數設定。
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 linuxeye.txt

# mv linuxeye.txt linux.txt
mv: cannot move `linuxeye.txt' to `linux.txt': Operation not permitted

# echo 'www.linuxeye.com' >> linuxeye.txt
-bash: linuxeye.txt: Permission denied

# lsattr linuxeye.txt
----i---------- linuxeye.txt
給linuxeye.txt文件加上i屬性後,執行修改文件得到的結果是Operation not permitted,不能修改文件。要想修改此文件就要把i屬性去掉,如下:
# chattr -i linuxeye.txt

# echo 'www.linuxeye.com' >> linuxeye.txt
Copyright © Linux教程網 All Rights Reserved