我登录服务器时遇到严重问题(Centos5.2-Final)它宣布:
-bash: /bin/egrep: cannot execute binary file
-bash: /bin/egrep: cannot execute binary file
-bash: /bin/egrep: cannot execute binary file
-bash: /bin/hostname: cannot execute binary file
-bash: /bin/grep: cannot execute binary file
-bash: /bin/grep: cannot execute binary file
-bash: /bin/grep: cannot execute binary file
-bash: /bin/grep: cannot execute binary file
此服务器上运行的 apache 和 mysql 工作正常,但 /bin 文件夹中的所有执行文件都有这个问题,其中一些无法执行(vi、uname、ps...)
有没有人遇到过这个问题!请告诉我如何解决它!
你的输出是什么: grep SELINUX /etc/sysconfig/selinux
SELinux 可能会阻止访问。
那是一个rootkit ...通常一些rootkit不需要编译。所有文件都被替换了。当您使用某些 i686 Linux 时,这些 rootkit 已安装并且一切正常,但在 x86_64 机器上您会遇到这些错误。您可以检查 /usr/lib/libsh 。如果此文件夹存在,您有一个名为 shv(4-5) 的 rootkit,您将找到一个名为backup的文件夹。在该文件夹中,您将找到您的文件,例如:egrep/hostname/uname/etc。只需复制它们并替换 /bin 文件,或者您可以像这样测试它们: ./hostname 。您可以使用 yum 重新安装 binutils 或获取 .rpm 文件并手动安装。如果要手动更换,请记住进行备份。
对于没有 shebang 的 shell 脚本,应该显示该错误,所以我不确定为什么会为这些文件显示该错误。我想知道动态链接器是否消失了,或者文件是否已以某种方式损坏并且它们现在充满了其他东西。
file
说他们是什么?我能想到的坏情况是 /bin 目录中的文件已损坏。另一种情况是 ELF 文件的架构与您的平台架构不匹配;如果您有 x86_64(64 位)系统但使用无法运行 x86_64 可执行文件的 i386(32 位)内核引导,则可能会发生这种情况。
能不能发一下下面的...