可能重复:
我的服务器被黑了 紧急求助
我们有一台运行 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 部门重新安装操作系统之前,我想了解是什么原因导致的。系统和/或该特定用户的环境值得怀疑。过去一年来,许多人接触过这台服务器,所以我想知道它是否缺少库、安装错误的软件包等。我希望如果我们能了解这种情况下出了什么问题,这将有助于解释为什么我们在其他几个场景中遇到段错误。
任何关于解决这个段错误的提示都将受到赞赏!
答案1
Ubuntu 在 /etc/bash.bashrc 中实现了命令未找到功能,该功能调用 python 脚本来提供比默认的“命令未找到”错误消息更多有用的建议。
可能需要重新安装该软件包或某些依赖项。要查看该软件包是否有问题,可以进行一个简单的测试,即删除 command-not-found 软件包,然后查看是否仍然出现段错误:
apt-get 删除未找到的命令
答案2
您在 shell 上输入命令,然后出现段错误...您期望 shell 是 bash,但它被执行为 python。这真是太可怕了。
断开该计算机与网络的连接,并尽快重新安装。从已知良好的备份中恢复所有本地文件,因为该计算机看起来有点像被 rootkit 了。
我可能错了,但还是谨慎一点,因为 /bin/bash 看起来并不是你所期望的那样。