VMware里CentOS6和7无法登录下修改root密码
CentOS 6 版
出现问题原因:太久没动,忘记密码了
环境:VMWare上安装的虚拟机CentOS 6.5
无法登录下修改root密码
方法:
- 在开机启动的时候快速按键盘上的“E”键 或者“ESC”键(如果做不到精准快速可以在启动前一直按着或者不停的按),会进入如下界面。如果你的有多个操作系统就会出现多个内核,就会出现多个选项
- 选择你忘记密码的内核,再次按“E”,出现下图,选择第二项,再次按“E”键,第二项的名称会根据个人的设置有些小差异,但是以kernel开头,一般选择第二项就是了
- 经过第二步,这个画面可以编辑,在信息的最后加“空格”,直接输入数字的“1”(如图)或者 键入“single”也行,回车确定进入下一步。
这里会根据个人的配置不同显示的信息不同,但是没关系,直接在quiet后面加就行
- 操作完第三步,会出现下图,是不是感觉又回到第二步了呢?并不是,这里按键盘的”B”键,进入引导系统。
- 在下面这个画面中的“#”后输入“passwd root”,重新设置root的密码,密码输入一遍,确认输入一遍,共2遍,然后输入reboot重启系统,root密码重置就完成了。
如下:输入新密码时,可能会提示新密码太简单,忽略即可,只是提醒,不影响什么
登录状态下修改非root账号密码
这时候我想,我普通账户的密码也忘记了能不能改呢,可以的!毕竟root是掌控一切的存在~如果想改其他账号的密码,用root登陆后输入命令:passwd accountName 即可更改,accountName 是你想改密码的账户名,比如我的账户名hadoop:
CentOS 7 版
无法登录下修改root密码
步骤:
- 在开机启动的时候快速按键盘上的“ESC”键(如果做不到精准快速可以在启动前一直按着或者不停的按),会进入如下界面。
- 一般选择第一个,直接按
e
键 ,编辑引导项,进入新界面后,删除linux16
这一行最后的rhgb
和quit
参数(在UEFI系统中是linuxefi),删除rhgb和quiet
这两个参数是为了显示系统信息;
PS1:用方向键移动光标
PS2:在64位IBM Power Series是 linux 这一行尾;在x86-64 BIOS引导的系统中是 linux16 这一行尾;在UEFI引导的系统中是linuxefi这一行尾 (反正找关键词是哪个就改哪一行)
- 在这一行末尾添加以下参数:
rd.break enforcing=0
- 修改完毕后,按
CTRL+X
用改变的参数引导系统;
- 这时候会进入一个可输入命令界面
由于在/sysroot/文件系统被挂载为只读时,你不能改变密码,因为文件系统为不可写入。所以需要重新挂载文件系统为可写入。mount \-o remount,rw /sysroot
输入以上命令,回车
- 文件系统被重新挂载为可写
chroot /sysroot
输入以上命令,进入新界面,接下来所有命令都是在这个界面里操作 - 新界面里输入
passwd
命令,接下来按命令提示行改变 root 密码,输入2次密码 - 由于更新password文件会导致SELinux安全上下文文件错误。
键入以下命令在下次系统引导前重新标记所有文件:touch /.autorelabel
PS:/和.之间没有空格 - 重新挂载系统为只读:
mount \-o remount,ro /
- 键入 exit 命令退出 chroot 环境:
exit
- 再次键入 exit 命令完成初始化,完成系统引导。
exit
- 至此,密码修改成功,完成最后一步 exit 后等待时间会长一点,然后会进入启动页面,输入新的 root 用户的密码后就可以成功登陆了。