1.什么是ext3的屬性(attribute)
從Linux的1.1系列內核開始,ext2文件系統就開始支持一些針對文件和目錄的額外標記或者叫作屬性(attribute)。在2.2和2.4系列的內 核中,ext3文件系統支持以下屬性的設置和查詢:
A
Atime。告訴系統不要修改對這個文件的最后訪問時間。
S
Sync。一旦應用程序對這個文件執行了寫操作,使系統立刻把修改的結果寫到磁盤。
a
Append Only。系統只允許在這個文件之后追加數據,不允許任何進程覆蓋或者截斷這個文件。如果目錄具有這個屬性,系統將 只允許在這個目錄下建立和修改文件,而不允許刪除任何文件。
i
Immutable。系統不允許對這個文件進行任何的修改。如果目錄具有這個屬性,那么任何的進程只能修改目錄之下的文件,不允 許建立和刪除文件。
d
No dump。在進行文件系統備份時,dump程序將忽略這個文件。
c
Compress。系統以透明的方式壓縮這個文件。從這個文件讀取時,返回的是解壓之后的數據;而向這個文件中寫入數據時,數 據首先被壓縮之后,才寫入磁盤。
s
Secure Delete。讓系統在刪除這個文件時,使用0填充文件所在的區域。
u
Undelete。當一個應用程序請求刪除這個文件,系統會保留其數據塊以便以后能夠恢復刪除這個文件。
但是,雖然文件系統能夠接受并保留指示每個屬性的標志,但是這些屬性不一定有效,這依賴于內核和各種應用程序的版本。下表顯示每個版本支持的屬性標志:
* 允許設置這個標志并使設置生效 i 允許設置這個標志但忽略其值 - 完全忽略這個標志 1.0 1.2 2.0 2.2 2.4 A - - * * * S * * * * * a - * * * * i - * * * * d - * * * * c i i i i i s * * i i i u i i i i i |
在對具有A屬性的文件進行操作時,A屬性可以提高一定的性能。而S屬性能夠最大限度的保障文件的完整性。
本文將主要討論a屬性和i屬性,因為這兩個屬性對于提高文件系統的安全性和保障文件系統的完整性有很大的好處。同樣,一些開放 源碼的BSD系統(如:FreeBSD和OpenBSD),在其UFS或者FFS實現中也支持類似的特征。
2.使用什么命令設置和顯示ext3文件系統的屬性
在任何情況下,標準的ls命令都不會一個文件或者目錄的擴展屬性。ext3文件系統工具包中有兩個工具--chattr和lsattr,專門用來設置 和查詢文件屬性。因為ext3是標準的Linux文件系統,因此幾乎所有的發布都有e2fsprogs工具包。如果由于某些原因,系統中沒有這個 工具,你可以從以下地址下載這個工具包的源代碼編譯并安裝:http://sourceforge.net/projects/e2fsprogs
lsattr命令只支持很少的選項,其選項如下:
-a
列出目錄中的所有文件,包括以.開頭的文件。
-d
以和文件相同的方式列出目錄,并顯示其包含的內容。
-R
以遞歸的方式列出目錄的屬性及其內容。
-v
列出文件版本(用于網絡文件系統NFS)。
chattr命令可以通過以下三種方式執行:
chattr +Si test.txt 給test.txt文件添加同步和不可變屬性。 chattr -ai test.txt 把文件的只擴展(append-only)屬性和不可變屬性去掉。 chattr =aiA test.txt 使test.txt文件只有a、i和A屬性。 |
3.ext3屬性和文件權限的區別
幾乎所有的系統管理員都理解UNIX風格文件系統的權限和所有者以及ls命令的顯示,例如
[root@typhoid nixe0n]# ls -al test* -rw-rw-r-- 1 nixe0n users 0 Nov 17 17:02 test.conf -rw-rw-r-- 1 nixe0n users 0 Nov 17 17:02 test.log -rw-rw-r-- 1 nixe0n users 0 Nov 16 19:41 test.txt |
[root@typhoid nixe0n]# lsattr -a test* ---i-------- test.conf ----a------- test.log ------------ test.txt |
| 共2頁: 1 [2] 下一頁 | ||
|


