在一个论坛上面看到有人说他把/bin/bash覆盖了,重启不能正常启动。hoho,启动脚本都是需要bash的,当然不能启动啦-_-#。给他回了个帖子,没有看到他说我的方法行不行。唉!早就料到是这样,所以我一般都不re贴的。
我尝试用Trustix 2.2重现一下他的问题,但是发现Trustix还是能够用root登录的。这也说明了Trustix的开发者考虑到了这个问题,root用户的shell是/sbin/bash,/bin/bash挂了,root还是可以登录。嗯…还是用我贴的那个办法来解决这个问题吧。
启动机器,出现Grub菜单的时候在菜单项上按’e',然后用方向键选上”kernel …”那一行,再按’e'。在后面加上” init=/bin/ash”(ash这个包一般都是安装了的,估计tcsh也可以吧,如果安装了的话),回车,按’b'启动。一会就可以看到’#'提示符啦。
mount /proc
mount / -o remount,rw
rpm -e bash --nodeps
mount /mnt/cdrom
rpm -ivh /mnt/cdrom/....../bash-xx.rpm
mount / -o remount,ro
/sbin/halt -p
按”Power”键吧,一切正常;-)
一台Linux的机器,在上面随意敲几下ps,居然出来一堆帮助信息。nnd,难道是我敲错了参数?再看,没错啊~~~再敲一遍,还是有问题。难道是……ps被替换了?rpm -qf /bin/ps,知道ps是procps包的。于是rpm -V procps,fk!果然是被人替换了,netstat也不能幸免。用find -ctime找了一下,发现/bin、/usr/bin下n多文件被改动过。把那些文件移动到一个新建的目录里面,从RH的ftp下载那些rpm包,rpm2cpio xxx.rpm | cpio -divm 把文件解出来,cp到相应的地方,但是rpm -V发现还是有问题:(。
受不了啦,嗯,机器上装了ClamAV,就用它scan一下吧。netstat: Linux.RST.B FOUND!汗!以前在某个BBS看到有人说装RH Linux的机器中了这个病毒,居然我也碰到了,运气不错啊。cp也染毒了,所以刚才cp过去的文件当然有问题啦。这个…怎么办呢?噢,/bin/mv还是可以用的,哈哈。经过一阵替换,OK。
netstat看一下,有几个陌生的端口。telnet看了一下,有一个是ssh后门吧。ps发现一个”smbd -D”的进程,这是有问题滴。
Google了一下,找到一些相关的东西。唉,日志都被删掉了,没意思啊。接着升级一下软件包、内核,hoho。
RSBAC(Rule Set Based Access Control)这东西看起来不错,但还没有用过,有空试试。
