ubuntu12.04中root不能登陆..

sh/bash/dash/ksh/zsh等Shell脚本
回复
xkming_2015
帖子: 2
注册时间: 2012-07-13 11:37

ubuntu12.04中root不能登陆..

#1

帖子 xkming_2015 » 2012-08-01 15:06

ubuntu12.04,装完系统后,使用sudo passwd root ,设备好root密码,再使用

chsh -s /bin/bash,把shell改成bash,再次su ,密码正确也不能登陆,报“无法执行 /bin/dhsh: 没有那个文件或目录”

寻找ubuntu高手解释。
附件
如图
如图
)5WQ05TICO`VP6QXGP_KONF.jpg (17.41 KiB) 查看 1139 次
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: ubuntu12.04中root不能登陆..

#2

帖子 eexpress » 2012-08-01 15:14

/bin/dhsh
:em04
● 鸣学
xkming_2015
帖子: 2
注册时间: 2012-07-13 11:37

Re: ubuntu12.04中root不能登陆..

#3

帖子 xkming_2015 » 2012-08-01 17:14

eexpress 写了:/bin/dhsh
:em04
chsh时犯的个低级错误 测试chsh命令时使用了root用户,而且被人把命令输错:

root:~# chsh -s hbjia

密码:

chsh:PAM 验证失败



结果虽然没提示说什么修改了,但是我用普通用户su到root用户时出错了,不能su过去:

hbjia:~# su

密码:

无法执行hbjia: 没有那个文件或目录



在此我搜了半天,终于找到了问题所在:

http://forum.ubuntu.org.cn/viewtopic.php?f=21&t=311103

在运行 chsh -s hbjia这个命令时,本意是修改hbjia的bash(正确的命令是 root:~# chsh -s /bin/bash hbjia ,或者是 hbjia:~# chsh),但是命令输入错误了导致 /etc/passwd文件被修改:

root:x:0:0:root,,,:/root:hbjia

daemon:x:1:1:daemon:/usr/sbin:/bin/sh

……

……

root的bash被改成了hbjia,故而出现 “无法执行hbjia: 没有那个文件或目录“这样的提示。把第一句的bash 修改回来即可。

root:x:0:0:root,,,:/root:/bin/bash

daemon:x:1:1:daemon:/usr/sbin:/bin/sh

……

……



这次虽然是别人操作的,但是也提醒了我,少用root账户执行操作,因为她的权限太大了,可以直接修改系统中重要的文件而不需要认证。如果刚好我的电脑么有其他的窗口登录有root账户,或者像我的电脑一样不能用sudo命令,那么要修改/etc/passwd文件还的费一番手脚。






这是真正的原因,一起分享下。
头像
cjxgm
帖子: 1952
注册时间: 2010-04-23 20:40
系统: Arch Linux
来自: 浙江·杭州
联系:

Re: ubuntu12.04中root不能登陆..

#4

帖子 cjxgm » 2012-08-01 17:39

估计你打

代码: 全选

chsh -s /bin/bash
时,错打成

代码: 全选

chsh -s /bin/dhsh
Clanjor Prods. | Develop for Developers. (C++, Lua) | 作曲编曲 | 实时渲染引擎
回复