我的服务器已感染恶意软件。我已将Linux服务器升级到最新版本,并且没有新文件被感染,但我现在需要清理所有文件。
我可以找到执行以下操作的所有文件:
grep -H "gzinflate(base64_decode" /home/website/data/private/assets/ -R | cut -d: -f1
但是,我现在要删除每个文件中包含gzinflate(base64_decode
的行。
答案 0 :(得分:1)
我会使用sed -i '/gzinflate(base64_decode/d'
删除文件中的匹配行:
... | xargs -I'{}' sed -i '/gzinflate(base64_decode/d' '{}'
注意:您确实希望使用grep -Rl
而非grep -RH .. | cut -d: -f1
,因为-l
仅列出匹配的文件名,因此您无需管道cut
。
警告:你真的应该关注这里更深层次的安全问题,我现在根本不相信这个系统,你不知道什么后门是开放的,或者哪些文件可能仍然被感染。
答案 1 :(得分:0)
使用命令
获取这些文件后 grep -H "gzinflate(base64_decode" /home/website/data/private/assets/ -R | cut -d: -f1
你逐个循环文件并使用 grep -v" gzinflate(base64_decode" file> newfile