用户设置bash的时候,错把root的bash改为bin/bash,注意,不是“/bin/bash”!。
然后就登录不了root了,也修改不了/etc/passwd了。
解决:
1、重启Ubuntu,随即长按shift进入grub菜单;
2、选择recovery mode,即Ubuntu,With Linux 3.2.0-23-generic(recovery mode),按e,编辑启动参数;
3、把ro recovery nomodeset 改成rw single init=/bin/bash;
4、然后按ctrl+x 或者F10 就可以进入 单用户模式,
修改/etc/passwd
root:x:0:0:mysql user:/root:bin/bash
改为:root:x:0:0:mysql user:/root:/bin/bash
重启即可。
-----------------
详细图文如下:
root用户修改密码方法
重启Ubuntu,随即长按shift进入grub菜单;
选择recovery mode,即Ubuntu,With Linux 3.2.0-23-generic(recovery mode),按e,编辑启动参数,
,如下图;
把ro recovery nomodeset 改成rw single init=/bin/bash,
,如下图;
然后按ctrl+x 或者F10 就可以进入 单用户模式,
重启Ubuntu,随即长按shift进入grub菜单;
选择recovery mode,回车确认;
在Recovery Menu中,选择“Root Drop to root shell prompt”,回车确认,如下图;
进入shell界面,使用passwd命令重新设定密码:passwd root
输入新密码;
再次确认新密码;
看到密码设定成功提示:passwd: password updated successfully;
重启系统进入GUI界面:sudo reboot;
--------------
参考资料:
【1】如何重设Ubuntu的登录密码及root用户登录系统
http://13521308103.iteye.com/blog/1930322