浏览 1.2k
当管理上百台服务器时,出现忘记root密码的概率还是很高的。要解决这个问题也非常简单,只需要在重启Linux系统时,引导进入Linux的单用户模式就可以搞定。单用户模式与Windows的安全模式类似,只启动基本的系统,不启动网络、应用服务。由于单用户模式不需要输入登录密码,因此,可以直接登录系统,重新修改root密码。
先以CentOS7为例(GRUB2),进行如下操作:
重启系统,等到进入GRUB引导菜单时,按ESC,选择当前系统的内核,按E键进行编辑。
如下图,按↓键,找到linux16
所在的行,然后在行尾添加init=/bin/sh,添加完成后,按<Ctrl+x>组合键启动引导,进入单用户模式
此时如果直接使用passwd命令修改root密码会出现如下错误。
修改密码前先要将根目录挂载为可读写模式(mount -o remount,rw /),再修改root密码。
注意,如果没有关闭selinux,那么需要再根目录创建autorelabel文件,否则无法正常进入系统,操作如下:
touch /.autorelabel
修改密码后可以重启服务器了,但是此时reboot命令是无效的,需要执行exec /sbin/init
重启系统后,以新密码登录服务器。
注意,CentOS7以前版本使用的是GRUB,与GRUB2略有不同,但同样是通过引导进入单用户模式修改root密码。
在编辑系统引导内核时,需要找到带有kernel
指定的行,然后再行尾加上空格,再添加single
选项。
修改完成后,按ENTER
键,返回菜单,按B
键引导进入单用户模式。
输入passwd
修改密码。
密码修改完成后,输入init 3
进入多用户模式。
以新密码登录服务器。
以上就是解决登录Linux系统忘记root用户密码的解决方式。
按点赞数排序
按时间排序