误修改/etc/passwd导致root无法登录,求助
本帖最后由 zrp999 于 2012-11-21 22:29 编辑各位好,今天误操作把/etc/passwd文件root默认的ksh改为/usr/bin/bash,谁知道该目录下面居然没有bash程序(大意啊),结果导致无法用root登录,错误如下:
3004-009 Failed running login shell.
Connection closed.
用ssh scp sftp telnet全部试过,都无法登录,找了一天的资料,最常用的方法是用维护盘启动进维护模式修改,但该服务器业务比较重要,不允许宕机,请大家想想还有没有其它办法,我想过用普通用户修改或建立一个/usr/bin/ksh指向/usr/bin/bash的链接,但还是权限不足,先谢谢各位了。
PS: 是否有命令可以绕过默认的shell?su root 或者 su root -c /usr/bin/ksh这2个都不行,但不知道有没有其它方法可以这么做。 本帖最后由 zrp999 于 2012-11-30 17:43 编辑
谢谢,关于这个问题我己经通过oracle成功修复了/etc/passwd文件,下面是我写的总结:
文字是从WORD文档拷贝过来,格式没排好。
使用oracle修改/etc/passwd
--/etc/passwd默认SHELL被修改后,无法登录的处理办法
从别的机器scp一个文件过去看看,是否可以?
如果可以,还有戏 回复 2# hello_unix
不能scp,这个在起初就试过了,行不通。
sudo呢? sudo就没安装,所以也不符合目前的情况。 装个bash到/usr/bin/bash下试试呢? 关注中 不停止进维护模式没法搞的。。楼主。。
问题解决后,写个总结造福大家,谢谢,学习学习。