可能重复:
我的服务器被黑了紧急情况
我们有一台运行 Ubuntu 11.10 的生产服务器。我们遇到了在各种条件下出现的段错误。最简单的可重现案例是当我们以管理用户身份登录 ssh 会话并输入虚假命令时。您会期待标准的“找不到命令”错误消息。相反,我们在 python 中遇到了段错误。用户的默认 shell 是 /bin/bash。
例如:
$ asdf
Segmentation fault
Info from /var/log/syslog:
Jul 6 15:39:20 PROD001 kernel: [2155960.605695] python[7873]: segfault at 0 ip (null) sp 00007fffd030b808 error 14 in python2.7[400000+233000]
服务器的一些细节:
$ uname -a
Linux PROD001 3.0.0-16-server #29-Ubuntu SMP Tue Feb 14 13:08:12 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
$ cat /etc/issue
Ubuntu 11.10 \n \l
在我们要求 IT 部门重新安装操作系统之前,我想了解是什么让我们来到这里。系统和/或该特定用户的环境可疑。在过去的一年里,很多人都接触过这台服务器,所以我想知道它是否缺少库、安装的软件包不正确等。我希望如果我们能理解这种情况下出了什么问题,这将有助于解释为什么我们在其他几个场景中出现段错误。
任何有关解决此段错误的提示都将不胜感激!
Ubuntu 在 /etc/bash.bashrc 中实现了一个 command-not-found 函数,它调用 python 脚本来提供比默认的“command not found”错误消息更有帮助的建议。
可能需要重新安装软件包或某些依赖项。一个简单的测试来查看这个包是否有问题是删除 command-not-found 包,看看你是否仍然得到段错误:
apt-get remove 命令未找到
您在 shell 上键入一个命令,然后出现段错误...您期望 shell 是 bash,但它作为 python 执行。那是可怕的狗屎,就在那里。
断开该机器与网络的连接,并尽快重新安装。从已知良好的备份恢复任何本地文件,因为它看起来有点像该机器可能已被 rootkitted。
我可能是错的,但过于谨慎,因为看起来 /bin/bash 不是您期望的那样。