Closed. This question is off-topic。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
                        
                        5年前关闭。
                                                                                            
                
        
我的网站最近遭到黑客攻击,服务器上有许多恶意文件。他们都添加了-i和-a扩展名

我发现使用
lsattr命令,然后使用
chattr -ai <Filenames>删除不可变并仅附加属性
然后rm -f <Filenames>删除

都好

但是只有一个文件
$$222.php无法删除

当我对文件名$$222.php执行任何操作时,它将返回

No such filename or directory whilst trying to stat 761022.php


如何删除该文件?

最佳答案

这很容易复制。

mkdir SO
cd ./SO
echo > '$$$222.php'
ls
$$$222.php


好,我们有其中之一,如果您尝试rm ...

rm $$$222.php
rm: cannot remove ‘351522.php’: No such file or directory


我们可以确认$$是否已被外壳程序转换为进程ID号。

ps

PID TTY          TIME CMD
3515 pts/8    00:00:00 bash
7671 pts/8    00:00:00 ps


原来3515只是bash的进程ID号或PID,之所以发生是因为shell将$$转换为PID。

echo $$
3515


它变为351522而不是3515222,因为$2指的是命令bash的第二个参数,该参数为空。

您可以将rm -i与通配符一起使用来删除它,并且-i会询问您是否确定要删除每个匹配的文件:

rm -i *php

rm -i *222.php


或者,您可以使用单引号rm '$$$222.php'

双引号rm "$222.php"仍将由shell转换,并且将在不匹配的地方进行转换。

关于linux - 无法删除攻击者留下的文件$$$ 222.php ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28138159/

10-13 07:22
查看更多