如何进入单用户模式(忘记密码)
Linux单用户模式
如何使用单用户模式更改系统密码?(加入你忘记了root用户的密码),这里以CentOS-7为例。
`第一步:重新启动或开启CentOS-7系统,在选择进入系统的Grub菜单界面如下图所示,根据提示按“e”小写字母进入编辑界面,如下图所示:
`第二步:然后,要按方向键向下键(否则可能看不到想要找的行),找到以字符串“Linux16”开头的行,将光标移动到该行的结尾,然后输入“init=/bin/bash enforcing=0”(前者作用让系统登录后加载bash解释器,后者是且关闭Selinux),如下图所示:
`第三步:配置完成后,根据界面下面的英文提示按“Ctrl-x”组合键以单用户模式启动Linux如下图所示:
一定要关闭selinux防火墙!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
`特殊说明:
1)图中的“mount-o rw,remount/”命令是重新挂载根目录为可写状态(rw表示可写,remount是重新挂载),在单用户模式下默认根文件系统是处于只读状态。
2)也可以在增加内核参数时,把以字符串“Linux16”开头的行中间部分的ro参数改为rw,则可以替代繁琐的“mount-o rw,remount /”命令。
`第四步:配置完后,执行exec /sbin/init命令重启系统,
注意,此时,无法使用其它重启命令。
`特殊强调:如果是系统的SELinux处于开启状态,并且前文修改内核选项时,没有增加“enforcing=0”,则此处需要多执行一条“touch /.autorelabel”命令
因为在SELinux开启时,修改root密码时修改password文件会导致SELinux安全上下文报错,如果前文修改内核选项时,已增加“enforcing=0”,那么在修改密码文件时,Selinux是关闭状态,因此,这里就不需要执行“touch/.autorelabel”命令了。
`第五步:重启系统后验证修改后的密码是否能登录,出现如下图所示,表示密码修改并登录成功。
如果CentOS-7系统运行级别被设置成重启的级别
就是说你的系统不小心设置成init6了 无限循环重启
`第一步:重新启动或开启CentOS-7系统,在选择进入系统的Grub菜单界面如下图所示,根据提示按“e”小写字母进入编辑界面
`第二步:然后,要按方向键向下键(否则可能看不到想要找的行),找到以字符串“Linux16”开头的行,将光标移动到该行的结尾,如果是物理机,添加:rd.break,如果是虚拟机,添加:rd.break console=tty0,如下图所示,之后按Ctrl+x键进入switch_root。
`第三步:输入命令mount,发现根为/sysroot/,并且不能写,只有ro权限,重新挂载已经挂载了的根文件系统(以读写权限挂载 ),挂载好后将根改成sysroot(执行命令:chroot /sysroot),然后修改运行级别,exit退出重启,如下图所示: