Chinaunix
标题:
误修改/etc/passwd导致root无法登录,求助
[打印本页]
作者:
zrp999
时间:
2012-11-21 22:29
标题:
误修改/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个都不行,但不知道有没有其它方法可以这么做。
作者:
hello_unix
时间:
2012-11-21 22:37
从别的机器scp一个文件过去看看,是否可以?
如果可以,还有戏
作者:
zrp999
时间:
2012-11-21 22:54
回复
2#
hello_unix
不能scp,这个在起初就试过了,行不通。
作者:
InfoSVC
时间:
2012-11-22 10:37
sudo呢?
作者:
zrp999
时间:
2012-11-22 12:32
sudo就没安装,所以也不符合目前的情况。
作者:
zealotddv
时间:
2012-11-22 14:33
装个bash到/usr/bin/bash下试试呢?
作者:
beyondfly
时间:
2012-11-22 19:28
关注中
作者:
wushanyink
时间:
2012-11-23 15:21
不停止进维护模式没法搞的。。楼主。。
作者:
zrp999
时间:
2012-11-30 17:35
本帖最后由 zrp999 于 2012-11-30 17:43 编辑
谢谢,关于这个问题我己经通过oracle成功修复了/etc/passwd文件,下面是我写的总结:
文字是从WORD文档拷贝过来,格式没排好。
使用oracle修改/etc/passwd
--/etc/passwd默认SHELL被修改后,无法登录的处理办法
使用oracle修改#etc#passwd.rar
(180.02 KB, 下载次数: 3740)
2012-11-30 17:41 上传
点击文件名下载附件
word文档
作者:
theguynewman
时间:
2012-12-02 19:41
问题解决后,写个总结造福大家,谢谢,学习学习。
作者:
happy_gaoxing
时间:
2012-12-02 21:16
我猜猜,用Xmanager应该可以吧
作者:
jat_15
时间:
2012-12-02 22:17
这个解决方式确实很牛B,佩服。
作者:
xunaitian1987
时间:
2012-12-03 09:48
NB
作者:
lucmyth
时间:
2012-12-09 22:01
作者:
zealotddv
时间:
2012-12-10 09:33
楼主解决方法确实牛逼。不过当你有任意一个可以登录的用户时,为什么不直接用该用户su -s /usr/bin/ksh root
然后输入root密码,切换成root用户ksh模式,完成修改/etc/passwd。
之前11楼说的xmanager,我个人也觉得可以(图形界面)
作者:
hello_unix
时间:
2012-12-11 21:39
这个可以加精华,支持探索精神
作者:
tianlijian
时间:
2012-12-15 03:12
学习学习。1234:wink::wink::wink::wink::wink:
作者:
sky_sky888
时间:
2012-12-15 12:31
做个u盘的ubuntu livecd
作者:
AIX深入敌后
时间:
2012-12-16 16:03
赞一个
看看楼主的心得
作者:
bobofan1995
时间:
2012-12-17 03:02
基本上linux配置好就不怎么改动的了
作者:
wlx_87
时间:
2012-12-17 18:37
楼主这个解决方法真牛逼。。
作者:
lightningfly
时间:
2012-12-17 22:12
通过SFTP下载、修改、覆盖的方法可以么
作者:
午夜幽魂
时间:
2012-12-19 01:15
好方法,谢谢分享,牛人
作者:
卡卡Don
时间:
2012-12-20 16:14
感谢楼主分享~~
作者:
a1xidelu
时间:
2012-12-21 16:26
拜读了,思路懂了,我自己肯定写不出来这些脚本,佩服楼主
作者:
fengyun530
时间:
2012-12-26 09:03
我觉得做一个U盘式的LIVECD,如果可以直接从U盘启动也能修复,不过缺点是必须重新设置引导。
作者:
davidbeckham921
时间:
2012-12-26 16:37
真心牛掰啊,这种方法就避免了重启等等等等的问题。
作者:
uriyliu
时间:
2012-12-30 15:59
貌是黑客的行为。
作者:
hello_johnsonli
时间:
2013-01-02 11:07
谢谢楼主分享总结!
作者:
风见秋
时间:
2013-01-05 13:53
看看。。。。。。。。
作者:
风见秋
时间:
2013-01-05 14:02
有个问题不明白,既然su -s 可以指定shell而跳过 /etc/passwd文件中指定的shell。那直接su -s不可以吗?非要通过java来修改passwd文件。
作者:
nanjingnew4
时间:
2013-01-06 10:27
风见秋 发表于 2013-01-05 14:02
有个问题不明白,既然su -s 可以指定shell而跳过 /etc/passwd文件中指定的shell。那直接su -s不可以吗?非要 ...
楼主貌似在文档里说普通用户也改成bash了,也就是所有用户都无法登陆
作者:
lstars0507
时间:
2013-01-06 11:33
真是厚道的好人啊。
作者:
MissYMOnce
时间:
2013-01-08 15:16
确实不错,学些了
作者:
zavakid
时间:
2013-01-09 14:39
牛啊!
如果机器上没有安装oracle,应该怎么办?
作者:
风见秋
时间:
2013-01-09 16:44
今天看书学到了一个命令chsh,以后用这个命令修改就不会出错了。
作者:
yifangyou
时间:
2013-01-13 15:08
oracle成功修复了/etc/passwd?
这个严重暴露出楼主的服务器可以通过数据库活动shell权限啊
作者:
雪剑20
时间:
2013-01-13 21:31
这个还是得小心操作呀
作者:
didi12366
时间:
2013-01-14 11:42
目前还没遇到过这种问题,可以借鉴一下
作者:
assault_cu
时间:
2013-01-16 15:33
大师啊。
作者:
heady713
时间:
2013-01-18 15:04
谢谢楼主,下载学习了
作者:
RUBIKS86
时间:
2013-01-22 23:13
学习了,多谢分享经验!
作者:
wwr
时间:
2013-01-26 23:42
LZ人才!这么反过来说,会oracle能提升root权限啊!
作者:
starggw
时间:
2013-01-27 11:43
解决的方法对ATX 及ORACLE 和JAVA 方面的知识都了解。楼主NB啊
作者:
feitat
时间:
2013-02-01 11:23
谢谢分享,好人一个
作者:
webdna
时间:
2013-02-07 10:37
作者:
enjoyjava
时间:
2013-02-17 09:13
--/etc/passwd默认SHELL被修改后,无法登录,这个只是shell不能登陆,图形的应该还是可以的 我之前也遇到过这样的情况,不过处理没你那么复杂,我是直接用WinSCP432拷出passwd文件修改后替换掉原来的就行了,也没重启
作者:
625luojian
时间:
2013-03-01 11:16
thanks share
作者:
silen_
时间:
2013-03-03 16:33
学习了。。。。
作者:
reyleon
时间:
2013-03-05 10:08
学习了 楼主强大
作者:
lloydm
时间:
2013-03-18 07:50
提示:
作者被禁止或删除 内容自动屏蔽
作者:
ZRyan
时间:
2013-04-10 09:39
可不可以重建一个root吧
作者:
fuqnaqict
时间:
2013-04-17 10:51
探索精神强!
作者:
caocanxxp
时间:
2013-06-11 10:13
谢谢分享,又多了一种解决方案
作者:
winterdota
时间:
2013-06-21 12:14
谢谢,学习了
作者:
jonesxiao
时间:
2013-07-13 10:37
光盘起,改回去
作者:
CJ_ane
时间:
2013-11-21 17:43
……
牛到一种境界了
作者:
wwr
时间:
2013-11-28 16:36
回复
1#
zrp999
LZ, 如果普通用户能su到root的话那就不用这么折腾的解决办法了。
su - -c "sed 's/bash/ksh/g' /etc/passwd >/etc/passwd.new"
su - -c "mv /etc/passwd /etc/passwd.old;mv /etc/passwd.new /etc/passwd;chown root:security /etc/passwd"
复制代码
完成!
作者:
zw421961
时间:
2013-12-29 22:35
看了附件之后,目测能想出这个解决方案的人很厉害,通过漏洞进行提权,貌似也是这样吧。佩服想出这个解决方案的人。发生这个事,也给经常使用root用户的大神们一个警告,能不用root用户进行操作,就尽量不在生产环境下操作,免得造成一些不必要的损失。
作者:
kensniper
时间:
2014-04-22 20:08
mark 一下,回头有空再看
作者:
bronts
时间:
2014-05-08 16:49
楼主太厉害了,还能修改回来,哎,太危险了
作者:
wtkao
时间:
2014-05-19 15:50
很棒的經驗分享,但如果沒有Oracle DB的話,樓主的方法是不是就不管用了?
作者:
lyhabc
时间:
2015-03-09 14:39
借鉴一下lz的方法
作者:
kakakkkk
时间:
2015-05-03 19:09
啊哈,我有个类似的经历,同AIX操作系统,当时是安装JAVA的时候设置ROOT环境变量,一不小心把 ksh的默认路径取消了,只有JAVA的,结果什么命令的用不了,吓死我了,后来执行了 export 切换环境变量回去修改配置文件才成功
作者:
我还没醒
时间:
2015-05-19 17:00
谢谢分享 。。。需要无私的人哇!
作者:
cypxx2003
时间:
2016-07-04 16:49
方法一:从别的环境ftp一个文件覆盖;
方法二:安装bash软件包
作者:
zsc_2012
时间:
2016-12-08 13:57
我的也是这个问题,先试试,能修改不,实在不能就得换系统
作者:
童扬456
时间:
2017-12-17 23:49
感谢楼主分享
作者:
zhguowen
时间:
2017-12-18 15:47
回复
15#
zealotddv
通常这种关键的DB服务器,未必会启图形界面啊!看来开户图形界面也有好处,只不过必须能过security check.
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2