前言
在前些天,解決《金山云服務器處理2t3ik與ddgs病毒實錄》問題中有提及到,病毒通過crontab執行shell腳本,在/tmp文件夾中自動創建了2t3ik.p、2t3ik.m、ddgs.3011文件。解決方法是將shell腳本自動創建的2t3ik.p、2t3ik.m、ddgs.3011文件刪除,自己手動利用touch命令創建空文件,并通過chattr +i 命令使創建的文件受到保護,不被其他程序篡改,得以終止了病毒文件的執行。
cd /tmp/
rm -rf 2t3ik*? ? ? ? ? ? ? ? //刪除2t3ik文件
rm -rf ddgs*
touch 2t3ik.p? ? ? ? ? ? ? ? //自己創建空文件
touch 2t3ik.m? ? ? ? ? ? ? ?
touch ddgs.3011????
chattr +i 2t3ik*? ? ? ? ? ?//保護文件不被修改?
chattr +i ddgs*
今天回過頭來詳細介紹一下chattr命令相關屬性以及lsattr的使用。
正文
chattr和chmod類似,用來改變文件的屬性。該指令可以改變存放在ext2文件系統上的文件或目錄。和chmod相比,chmod只是修改文件的讀寫、執行權限,更底層的屬性控制則是由chattr來改變的。
語法:chattr (選項) (文件)
模式
a:讓文件或目錄僅供追加內容的屬性;
b:不更新文件或目錄的最后存取時間;
c:將文件或目錄壓縮后存放;
d:將文件或目錄排除在傾倒操作之外;
i:不得任意更動文件或目錄;
s:保密性刪除文件或目錄;
S:即時更新文件或目錄;
u:預防意外刪除。
選項
-R:遞歸處理,將指令目錄下的所有文件及子目錄一并處理;
-v<版本編號>:設置文件或目錄版本;
-V:顯示指令執行過程;
+模式:開啟文件或目錄的該項模式;
-模式:關閉文件或目錄的該項模式;
=模式:指定文件或目錄的該項模式。
實例
1、保護文件,防止被修改、移除、刪除等操作。
chattr +i index.txt
設置后,文件index.txt不可被編輯,刪除,移除。會提示“Operation not permitted”。
2、設置文件只能追加內容,不可刪除。
chattr +a index.txt
設置后,不可刪除。只能向文件中追加內容。適用于特定情況的日志文件。
lsattr屬性
上面設置好了文件的屬性,可以通過lsattr來查看文件屬性。“lsattr 文件”
#lsattr index.txt
----ia-------e- index.txt
上面實例中,通過lsattr查看index.txt的屬性,發現文件具有iae屬性。其中i為保護,a為限制僅可做追加操作。
(ps:當文件即具體有i屬性,也具有a屬性,兩個權限部分沖突時,文件仍不可追加。所以要設置好文件的正確屬性,增加屬性時,要將沖突的屬性移除)。