linux無法刪除文件怎么辦

linux無法刪除文件怎么辦

最近我們的服務器被黑客攻擊,然后有些文件的屬性被修改,導致我們無法刪除病毒文件,同時采用 root 用戶也無法刪除,現在把解決方案記錄下來。

linux 文件/文件夾無法刪除問題解決方案

普通刪除

如果文件是當前用戶的,那么使用 rm 命令就可以刪除

rm?-rf?file.sh

如果無法刪除,則嘗試使用 root 用戶刪除,如果無法刪除那么請看下面的說明。

推薦:《Linux教程

需要了解的命令

如果普通的刪除方式沒有用,那么我們需要了解下面的命令來進行刪除

lsattr

lsattr 命令用于顯示文件的屬性,使用方式如下

#?列出?file.sh?文件的屬性 lsattr?file.sh #?列出當前目錄下所有文件以及文件夾的屬性

lsattr

屬性說明

i 屬性設置之后可使文件不能被刪除、改名,設置連接也無法寫入或添加數據,只有 root 用戶才能設置

a 屬性設置之后,文件只能增加數據,既不能刪除也不能修改數據,只有 root 用戶才能設置

A 設置A屬性后,若你訪問此文件或目錄時,它的訪問時間 atime 不會被修改,可避免I/O較慢的機器過度訪問磁盤。這對速度較慢的計算機有幫助。

s 屬性設置之后,如果文件被刪除,將從硬盤徹底刪除

S 屬性設置之后,文件將同步寫入硬盤(一般為異步

u 屬性設置之后,文件刪除后數據內容還存在磁盤中,可以找回文件

e 代表該文件為可執行文件

chattr

chattr 用于修改文件屬性,該命令請切換至 root 用戶下使用,如果是 ubuntu 用戶可在命令前加 sudo 進行修改

#?為?file.sh?文件增加?i?標識 chattr?+i?file.sh #?為?file.sh?文件去除?i?標識 chattr?-i?file.sh #?為?file.sh?增加?i,?a?兩個標識 chattr?+ia?file.sh #?為?file.sh?文件移除?i,?a?兩個標識 chattr?-ia?file.sh

實際操作

由上文中得知當文件設置 i 和 a 任意一個屬性我們就無法對文件進行刪除操作,那么我們首先移除 i, a 屬性,然后執行刪除:

#?移除?i,?a?屬性 chattr?-ia?file.sh #?查看是否移除成功 lsattr?file.sh #?移除文件 rm?-rf?file.sh

如果文件還未刪除成功,則我們需要考慮文件所屬的文件夾是否設置了 i 或 a 屬性(這一點確實很難發現)

#?退回上一級 cd?.. #?直接使用?lsattr?命令,這樣可以列出當前文件夾下所有文件和文件夾的屬性 #?不要使用?lsattr?文件夾?這樣的語法,這樣是列出該文件夾下的文件的屬性

lsattr

如果文件夾被設置則對文件夾的屬性執行移除操作,然后再刪除文件夾里面的文件

收獲

雖然 lsattr 和 chattr 是在這次清除病毒的過程中發現的,但是通過了解文件屬性,發現我們在實際的工作中可以通過文件屬性來保護重要的文件避免被誤刪,以及確保誤刪后能夠恢復文件。

對于文件的操作后如果還是沒有效果,我們可以嘗試從文件夾入手解決。

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊7 分享