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