前言
有些时候会忘记服务器的root密码,这种时候可以通过vnc或外接屏幕的方式重置密码,操作步骤如下。
操作步骤
重启系统
在开机过程中,快速按下键盘上的方向键↑和↓。目的是告知引导程序,我们需要在引导页面选择不同的操作,以便让引导程序暂停。
以下是暂停后的界面,可以查看下方的英文可知↑和↓的作用。
编辑Grub
- 使用↑和↓将选择行设置为第一行(背景高亮即为选中),按下键盘上的e,进入编辑模式。
- 将光标一直移动到 LANG=en_US.UTF-8 后面,空格,再追加init=/bin/sh。这里特别注意,需要写在UTF-8后,保持在同一行,并注意空格。由于屏幕太小,会自动添加\换行,这个是正常的。
- 按下CTRL+X进行引导启动,成功后进入该界面
进入系统后修改密码
首先需要将根目录挂载为读写模式,否则没有权限写入新的密码
mount -o remount, rw /
然后选择要修改密码的用户名,这里选择root用户进行修改,可以更换为你要修改的用户
passwd root
输入2次一样的新密码,注意输入密码的时候屏幕上不会有字符出现。
如果输入的密码太简单,会提示警告(BAD PASSWORD:The password fails the dictionary check - it is too simplistic/systematic),可以无视它,继续输入密码,不过建议还是设置比较复杂一些的密码,以保证安全性
如果已经开启了SElinux,则需要输入以下命令
touch /.autorelabel
最后输入以下命令重启系统即可
exec /sbin/init
或者
exec /sbin/reboot