Linux中文件/文件夾無法刪除的解決方案
前言
最近我們的服務(wù)器被黑客攻擊,然后有些文件的屬性被修改,導(dǎo)致我們無法刪除病毒文件,同時(shí)采用 root 用戶也無法刪除,現(xiàn)在把解決方案記錄下來。
普通刪除
如果文件是當(dāng)前用戶的,那么使用 rm 命令就可以刪除
rm -rf file.sh
如果無法刪除,則嘗試使用 root 用戶刪除,如果無法刪除那么請(qǐng)看下面的說明。
需要了解的命令
如果普通的刪除方式?jīng)]有用,那么我們需要了解下面的命令來進(jìn)行刪除
lsattr
lsattr 命令用于顯示文件的屬性,使用方式如下
# 列出 file.sh 文件的屬性 lsattr file.sh # 列出當(dāng)前目錄下所有文件以及文件夾的屬性 lsattr
屬性說明
- i 屬性設(shè)置之后可使文件不能被刪除、改名,設(shè)置連接也無法寫入或添加數(shù)據(jù),只有 root 用戶才能設(shè)置
- a 屬性設(shè)置之后,文件只能增加數(shù)據(jù),既不能刪除也不能修改數(shù)據(jù),只有 root 用戶才能設(shè)置
- A 設(shè)置A屬性后,若你訪問此文件或目錄時(shí),它的訪問時(shí)間 atime 不會(huì)被修改,可避免I/O較慢的機(jī)器過度訪問磁盤。這對(duì)速度較慢的計(jì)算機(jī)有幫助。
- s 屬性設(shè)置之后,如果文件被刪除,將從硬盤徹底刪除
- S 屬性設(shè)置之后,文件將同步寫入硬盤(一般為異步)
- u 屬性設(shè)置之后,文件刪除后數(shù)據(jù)內(nèi)容還存在磁盤中,可以找回文件
- e 代表該文件為可執(zhí)行文件
詳細(xì)說明請(qǐng)參考:https://baike.baidu.com/item/chattr/9841067?fr=aladdin
chattr
chattr 用于修改文件屬性,該命令請(qǐng)切換至 root 用戶下使用,如果是 ubuntu 用戶可在命令前加 sudo 進(jìn)行修改
# 為 file.sh 文件增加 i 標(biāo)識(shí) chattr +i file.sh # 為 file.sh 文件去除 i 標(biāo)識(shí) chattr -i file.sh # 為 file.sh 增加 i, a 兩個(gè)標(biāo)識(shí) chattr +ia file.sh # 為 file.sh 文件移除 i, a 兩個(gè)標(biāo)識(shí) chattr -ia file.sh
詳細(xì)操作請(qǐng)參考: https://baike.baidu.com/item/chattr/9841067?fr=aladdin
實(shí)際操作
由上文中得知當(dāng)文件設(shè)置 i 和 a 任意一個(gè)屬性我們就無法對(duì)文件進(jìn)行刪除操作,那么我們首先移除 i, a 屬性,然后執(zhí)行刪除:
# 移除 i, a 屬性 chattr -ia file.sh # 查看是否移除成功 lsattr file.sh # 移除文件 rm -rf file.sh
如果文件還未刪除成功,則我們需要考慮文件所屬的文件夾是否設(shè)置了 i 或 a 屬性(這一點(diǎn)確實(shí)很難發(fā)現(xiàn))
# 退回上一級(jí) cd .. # 直接使用 lsattr 命令,這樣可以列出當(dāng)前文件夾下所有文件和文件夾的屬性 # 不要使用 lsattr 文件夾 這樣的語法,這樣是列出該文件夾下的文件的屬性 lsattr
如果文件夾被設(shè)置則對(duì)文件夾的屬性執(zhí)行移除操作,然后再刪除文件夾里面的文件
收獲
- 雖然 lsattr 和 chattr 是在這次清除病毒的過程中發(fā)現(xiàn)的,但是通過了解文件屬性,發(fā)現(xiàn)我們?cè)趯?shí)際的工作中可以通過文件屬性來保護(hù)重要的文件避免被誤刪,以及確保誤刪后能夠恢復(fù)文件。
- 對(duì)于文件的操作后如果還是沒有效果,我們可以嘗試從文件夾入手解決。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
安裝Ubuntu20.04與安裝NVIDIA驅(qū)動(dòng)的教程
這篇文章主要介紹了安裝Ubuntu20.04,安裝NVIDIA驅(qū)動(dòng)的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05centos7 PHP環(huán)境搭建 GD庫 等插件安裝方法
下面小編就為大家分享一篇centos7 PHP環(huán)境搭建 GD庫 等插件安裝方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-03-03Linux內(nèi)核宏Container_Of的詳細(xì)解釋
我們?cè)诜治鯨inux內(nèi)核鏈表的時(shí)候注意到內(nèi)核在求解結(jié)構(gòu)體偏移的時(shí)候巧妙的使用了container_of宏定義,本文我們就來詳細(xì)剖析下內(nèi)核到底是如何求解結(jié)構(gòu)體成員變量的地址的2021-09-09在ubuntu16.04上創(chuàng)建matlab的快捷方式(實(shí)現(xiàn)方法)
下面小編就為大家分享一篇在ubuntu16.04上創(chuàng)建matlab的快捷方式實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助2017-12-12