2013-01-17 96 views
0

我的服務器已感染惡意軟件。我已將我的Linux服務器升級到最新版本,並且沒有新文件被感染,但我現在需要清理所有文件。從目錄中的所有文件中刪除包含字符串的行

我能找到的所有文件執行以下操作:

grep -H "gzinflate(base64_decode" /home/website/data/private/assets/ -R | cut -d: -f1 

但是,我想現在刪除的每一個文件,其中包含gzinflate(base64_decode行。

+1

請嘗試'sed -i'/ pattern/d'文件' – kev

+0

正如其他人回答,您不能確定您的服務器是否仍然感染,如果您保留以前感染系統的一些數據... –

回答

1

我會使用sed -i '/gzinflate(base64_decode/d'來刪除這些匹配行的文件:

... | xargs -I'{}' sed -i '/gzinflate(base64_decode/d' '{}' 

注意:您真要使用grep -Rlgrep -RH .. | cut -d: -f1因爲-l只列出匹配的文件名,所以你不需要管道到cut

警告:您應該真的擔心更深層次的安全問題,我現在完全不信任系統,您不知道後門是開放的還是還有哪些文件可能受到感染。

+0

Hi Sudo ,所以你說它應該是 grep -H「gzinflate(base64_decode」/ home/website/data/private/assets/-R | xargs -I'{}'sed -i'/ gzinflate(base64_decode/d' '{}' –

+0

幾乎你想'grep -Rl'gzinflate(base64_decode「/ home/website/data/private/assets/| xargs -I'{}'sed -i'/ gzinflate(base64_decode/d''{} ' ' –

+0

Hi Sudo, 你是說應該是 'grep -H「gzinflate(base64_dec ode「/ home/website/data/private/assets/-R | xargs -I'{}'sed -i'/ gzinflate(base64_decode/d''{}'' –

0

,一旦你使用你的命令得到了這些文件

grep -H "gzinflate(base64_decode" /home/website/data/private/assets/ -R | cut -d: -f1 

你循環THROU文件一個接一個,並使用grep的 -v 「gzinflate(BASE64_DECODE」 文件> newfile中

相關問題