Linux下的chattr和lsattr命令

今天移植web程序時,發現的命令。記錄

Linux下的chattr和lsattr命令

文件的隱藏屬性

在Linux下我們可以用stat命令查看文件的相關屬性信息,除了這些屬性之外,Linux下的文件還有一些隱藏的屬性,我們可以用lsattr命令來查看:

[root@VM_117_84_centos test]# lsattr 1.txt 
-----a--------- 1.txt

上面這條命令的輸出表示1.txt文件具有擴展屬性  a ,即append,設定該參數後,只能向文件中添加數據,而不能刪除,多用於服務器日誌文件安全,只有root才能設定這個屬性。顯然,將那些只允許增長但不允許修改和刪除的文件設置爲這樣的隱藏屬性是非常有利於保護數據安全的。

chattr

chattr命令可以改變一個文件的隱藏屬性。其語法格式爲:

chattr [ -RVf ] [ -v version ] [ mode ] files…

下面給出幾個選項的含義:

選項含義
-R遞歸更改目錄下所有子目錄和文件的屬性
-V顯示詳細信息
-f忽略大部分錯誤信息
-v version設置文件的檔案號碼
mode設置文件的隱藏屬性,其格式爲+-=[acdeijstuACDST]

最關鍵的是在[mode]部分,[mode]部分的格式是+-=[acdeijstuACDST],這部分是用來設置文件的屬性。其中+表示在原有參數設定基礎上追加參數;-表示在原有參數設定基礎上移除參數;=表示更新爲指定參數。下面列出幾個常用的屬性參數的含義:

屬性含義
A文件的atime(access time)不可被修改,這樣可以減少磁盤I/O數量,對於筆記本電腦有利於提高續航能力
S硬盤I/O同步選項,功能類似sync
a即append,設定該參數後,只能向文件中添加數據,而不能刪除,多用於服務器日誌文件安全,只有root才能設定這個屬性
i文件不能被刪除、改名、設定鏈接關係,同時不能寫入或新增內容(即使是root用戶)。只有root才能設定這個屬性
c即compresse,文件會自動的經壓縮後再存儲,讀取時會自動的解壓
d即no dump,設定文件不能成爲dump程序的備份目標
j即journal,設定此參數使得當通過mount參數”data=ordered”或”data=writeback”掛載的文件系統,文件在寫入時會先被記錄(在journal中)。如果filesystem被設定參數爲data=journal,則該參數自動失效
s即secure,保密選項。設置了s屬性的文件在被刪除時,其所有數據塊會被寫入0
u即undelete,反刪除選項。與s相反,文件在被刪除時,其所有的數據塊都保留着,用戶今後可以恢復該文件
例如這條命令,可以將1.txt文件設置爲不允許任何人修改:
chattr =a 1.txt

lsattr

lsattr命令列出文件的隱藏屬性。其語法格式爲:

lsattr [ -RVadv ] [ files… ]

選項含義
-R遞歸顯示目錄下所有子目錄和文件的屬性
-V顯示lsattr程序的版本信息
-a顯示所有文件的屬性信息,包括以.開頭的文件
-d顯示目錄的屬性,而不是目錄下的文件的屬性
-v顯示文件的檔案號碼

例如,下面這條命令顯示MySecretDir目錄的隱藏屬性:

[root@VM_117_84_centos test]# lsattr 1.txt 
-----a--------- 1.txt

轉載地址:https://blog.csdn.net/sailor201211/article/details/53215060



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