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有什麼隱藏屬性,

#剛纔說了,只有用lsattr才能看到有什麼隱藏權限 
lsattr 8899
----i-------e    8899

答案很明顯,就是設置了這個i屬性導致不能刪的.

下面我們就應該這樣做了

#把i屬性去掉,那就用-號
chattr -i 8899
#然後再刪
rm -rf 8899
#這就成功了


最後也來看看lsattr

lsattr [-RVadlv] [files...] 
參數或選項說明: 
-R:遞歸列示目錄及文件屬性。 
-V:顯示程序版本號。 
-a:顯示所有文件屬性,包括隱藏文件(.)、當時目錄(./)及上層目錄(../)。 
-d:僅列示目錄屬性。 
-l:(此參數目前沒有任何作用)。 
-v:顯示文件或目錄版本。

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