歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux擴展隱藏屬性 與 lsattr/chattr命令

Linux擴展隱藏屬性 與 lsattr/chattr命令

日期:2017/2/28 15:45:14   编辑:Linux教程

1、ext3的隱藏屬性(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。當一個應用程序請求刪除這個文件,系統會保留其數據塊以便以後能夠恢復刪除這個文件。

2、每個內核版本支持的屬性標志:

* 允許設置這個標志並使設置生效
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

3、lsattr顯示隱藏屬性命令:一般都有這個命令,如果沒有,則下載這個工具包的源代碼編譯並安裝:http://sourceforge.net/projects/e2fsprogs

lsattr命令只支持很少的選項,其選項如下:

-a
列出目錄中的所有文件,包括以.開頭的文件。
-d
以和文件相同的方式列出目錄,並顯示其包含的內容。
-R
以遞歸的方式列出目錄的屬性及其內容。
-v
列出文件版本(用於網絡文件系統NFS)。

4、chattr設置命令,可以通過以下三種方式執行:

chattr +Si test.txt
給test.txt文件添加同步和不可變屬性。

chattr -ai test.txt
把文件的只擴展(append-only)屬性和不可變屬性去掉。

chattr =aiA test.txt
使test.txt文件只有a、i和A屬性。

最後,每個命令都支持-R選項,用於遞歸地對目錄和其子目錄進行操作。

5、我們應該使用chattr做什麼?
主機直接暴露在Internet或者位於其它危險的環境,有很多shell帳戶或者提供HTTP和FTP等網絡服務,一般應該在安裝配置完成後使用 如下命令:

chattr -R +i /bin /boot /etc /lib /sbin
chattr -R +i /usr/bin /usr/include /usr/lib /usr/sbin
chattr +a /var/log/messages /var/log/secure (...)

如果很少對帳戶進行添加、變更或者刪除,把/home本身設置為immutable屬性也不會造成什麼問題。在很多情況下,整個/usr目錄樹也應該具有不可改變屬性。實際上,除了對/usr目錄使用chattr -R +ii /usr/命令外,還可以在/etc/fstab文件中使用ro選項,使/usr目錄所在的分區以只讀的方式加載。另外,把系統日志文件設置為只能添加屬性(append-only),將使入侵者無法擦除自己的蹤跡。

Copyright © Linux教程網 All Rights Reserved