天天看點

chattr指令,設定linux檔案的隐藏權限

很不幸,我公司的伺服器被黑客光顧了,安插了一個名字叫8899的惡意程式檔案在tomcat下面的bin目錄,還好我火眼金睛,用top看出了端倪,竟然發現ps指令也被他替換了,真是有點麻煩了,不過沒關系,去虛拟機拷一個替換就好.

然而重點是,這個8899的檔案居然是删不掉的,報錯Operation not permitte,然後網上查資料,原來是chattr指令搞的鬼.

chattr指令可以設定檔案的隐藏權限,你用ls是看不到這些權限的,隻有用lsattr 才會看到

下面來看看:

chattr --help 

Usage: chattr [-RV] [-+=AacDdijsSu] [-v version] files... 

參數或選項描述: 

-R:    遞歸處理,将指定目錄下的所有檔案及子目錄一并處理。 

-V:    顯示詳細過程有版本編号。 

-v:    設定檔案或目錄版本(version)。 

+ :    在原有參數設定基礎上,追加參數。 

- :    在原有參數設定基礎上,移除參數。 

= :    更新為指定參數設定。 

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處理能力(辨別)的程序能夠施加該選項。

下面來看看這個8899有什麼隐藏屬性,

<code>#剛才說了,隻有用lsattr才能看到有什麼隐藏權限 </code>

<code>lsattr 8899</code>

<code>----i-------e    8899</code>

答案很明顯,就是設定了這個i屬性導緻不能删的.

下面我們就應該這樣做了

<code>#把i屬性去掉,那就用-号</code>

<code>chattr -i 8899</code>

<code>#然後再删</code>

<code>rm</code> <code>-rf 8899</code>

<code>#這就成功了</code>

最後也來看看lsattr 

lsattr [-RVadlv] [files...] 

參數或選項說明: 

-R:遞歸列示目錄及檔案屬性。 

-V:顯示程式版本号。 

-a:顯示所有檔案屬性,包括隐藏檔案(.)、當時目錄(./)及上層目錄(../)。 

-d:僅列示目錄屬性。 

-l:(此參數目前沒有任何作用)。 

-v:顯示檔案或目錄版本。 

     本文轉自arthur376 51CTO部落格,原文連結:http://blog.51cto.com/arthur376/1914046,如需轉載請自行聯系原作者

繼續閱讀