1. 程式人生 > >檔案隱藏屬性: chattr, lsattr

檔案隱藏屬性: chattr, lsattr

Linux檔案的隱藏屬性在保護系統檔案的安全性上非常重要。先強調的是,chattr命令只能在Ext2/Ext3的檔案系統生效。

chattr(設定檔案的隱藏屬性)

[[email protected] ~]# chattr [+-=] [ASacdistu] File/Directory

引數

+:增加某個引數

-:刪除某個引數

=:僅有後面接的引數

各個引數的意思

引數 含義
A 設定A屬性後,若你訪問此檔案或目錄時,它的訪問時間atime不會被修改,可避免I/O較慢的機器過度訪問磁碟。這對速度較慢的計算機有幫助。
S 一般檔案是非同步寫入磁碟,加上S屬性後,檔案將同步寫入磁碟
a 當設定a後,檔案只能增加資料,既不能刪除也不能修改資料,只有root才能設定這個屬性
c 設定c屬性後,會自動將檔案壓縮,在讀取時自動解壓縮
d 當dump程式執行時,設定d屬性將可使改檔案或目錄不被dump備份
i i屬性可使檔案不能被刪除、改名,設定連線也無法寫入或新增資料。對於系統安全性有很大幫助。只有root能設定此屬性。
s 當檔案設定s屬性時,如果檔案被刪除,將從硬碟徹底刪除
u 與s相反,當檔案設定u屬性時,檔案刪除後資料內容還存在磁碟,可以使用來找回該檔案
j A file with the `j' attribute has all of its data written to the ext3 journal before being written to the file itself, if the  filesystem  is mounted with the "data=ordered" or "data=writeback" options. When the filesystem is mounted with the "data=journal" option all file data is already journalled and this attribute has no effect. Only the superuser or a process possessing the CAP_SYS_RESOURCE capability can set or clear this attribute.

lsattr(顯示檔案隱藏屬性)

[[email protected] ~]# lsattr [-adR] File/Directory

引數

-a:將隱藏檔案的屬性也顯示出來

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

-R:連同子目錄的資料也顯示出來

使用範例

[[email protected] ~]# chattr +aij attrtest

[[email protected] ~]# lsattr attrtest

----ia---j---    attrtest