统信服务器系统【重置登录密码】解决方案

本文主要介绍UOS服务器系统服务器d版/e版/a版忘记登录密码重置密码的解决方案,分为通用方案和非通用方案。

问题现象

服务器系统开机正常启动到登录界面时,忘记登录账户的登录密码,无法进入系统。

问题原因

用户密码忘记导致无法登入系统,需要重置密码。

解决方案

下面分别介绍使用通用方案和非通用方案的场景下,如何重置密码。

1、通用方案

使用此通用方案,适用于UOS服务器系统所有版本,需要借助于UOS系统安装启动盘引导进入LiveCD模式进行操作。
由于1040d及以上版本镜像不再支持进入单用户模式,需要通过系统安装盘引导LiveCD模式,如果项目现场遇到1040d及以上版本服务器系统可参考此通用方案重置密码。
启动盘准备:准备一个大小约4G的空白U盘或光盘
镜像准备:与待重置密码系统同架构的UOS桌面专业版镜像,1031及以上版本

步骤一:进入LiveCD模式操作步骤见《如何进入LiveCD模式》

步骤二:因硬件适配原因导致无法直接进入图形界面的,可以按“Ctrl+Alt+F2”切到如下所示tty2虚拟终端字符界面并登录进行重置密码操作。如果需要打开图形界面,可尝试执行startx命令,稍等片刻即可进入livecd模式的GUI图形界面。

tty2虚拟终端字符界面
步骤
针对服务器系统d版,一般都是非LVM类型普通磁盘分区,重置密码方法
sudo -i                   #切换到root下 lsblk -p                   #找出/sysroot对应的系统盘分区,一般是/dev/sda3 mount /dev/sda3  /mnt  #挂载/dev/sda3系统根‘/’所在的分区 chroot /mnt              #将根切换到要重置密码系统的根,即/dev/sda3 passwd demo           #输入符合密码策略的密码完成密码修改
针对服务器系统e版和a版,一般都是LVM类型磁盘分区,重置密码方法
sudo -i                        #切换到root下 pvs                           #列出当前的pv,及所属的vg vgchange -ay   uniontechos  #激活上述pv所属的vg,此处为uniontechos mount /dev/uniontechos/root  /mnt     #挂载root到/mnt chroot /mnt                   #将根切换到要重置密码系统的根,即/dev/sda3 passwd uos                   #输入符合密码策略的密码完成密码修改

2、非通用方案

对于1040d以下版本的服务器系统,可参考如下方法进入单用户模式或tty9模式重置密码。

2.1、适用于服务器系统d版的单用户模式重置密码方案

步骤一:进入单用户模式操作步骤见《如何进入单用户模式》
步骤二:先输入命令“cat /etc/passwd | grep 1000”查看用户名,例如查出来的用户名是user,然后输入命令“passwd user”重置user用户的登录密码,输入新密码并确认密码,重置成功后, 按“Ctrl+Alt+Del”或输入命令“reboot”重启系统,使用新密码登录系统
重置密码
重启系统

2.2、适用于服务器系统d版的tty9模式重置密码方案

步骤进入grub启动菜单后,将光标移动至linux  vmlinuz-*开头的行末尾处,按空格“space”键并添加参数“systemd.debug_shell=1”
手动添加参数
步骤按“Ctrl+X”或“F10”保存配置后系统会自动启动进入到登录界面,此时按下“Ctrl+Alt+F9”进入tty9模式,具备超级管理员root重置其他账户密码的权限
进入tty9模式
步骤tty9模式下重置密码的方法同前面2.1章节的步骤

2.3、适用于服务器系统a版的两种方法进入单用户模式重置密码方案

2.3.1、第一种方法是通过添加参数“rw single init=/bin/bash”进入单用户模式,操作步骤见《如何进入单用户模式》,优先推荐此方法
2.3.2、第二种方法是通过添加参数“rd.break”进入单用户模式,步骤如下
步骤进入grub启动菜单后,找到以linux ($root)vmlinuz-*开头的行,修改“ro”为“rw”,并在该行末尾添加参数“rd.break”,然后按“Ctrl+X”或“F10”键继续启动系统,即将进入Recovery上下文恢复单用户模式
修改grub菜单参数
步骤通过chroot命令切换至本地系统根环境后,重置密码后输入exit系统自动重启,使用新密码登录
chroot /sysroot #切换到系统根环境 echo 123 | passwd --stdin root #重置密码 touch /.autorelabel #通知系统下次开机时重新标记SELinux 安全上下文。 exit #退出chroot环境。 exit #退出Recovery 恢复模式,自动重启系统,密码重置完成
重置密码过程演示

2.4、适用于服务器系统e版的单用户模式重置密码方案

针对服务器系统1010e以上版本,可以接修改grub参数进入单用户模式,也可利用同版本的服务器系统安装盘启动进入单用户模式重置密码。
针对服务器系统1010e版本,只能修改grub参数进入单用户模式重置密码。
2.4.1、服务器系统1010e以上版本,包括但不限于(1020e、1021e、1050e版)
步骤一:进入单用户模式操作步骤见《如何进入单用户模式》
步骤重置密码操作步骤同前面2.1章节步骤二
2.4.2、服务器系统1010e以上版本,利用系统安装盘启动进入救援模式重置密码步骤如下
步骤一:重启系统,到安装界面时,按“E”键进入系统启动菜单编辑模式 
系统安装选项
步骤在以“vmlinuz”开头行所在的行末尾,手动添加参数“rescue”,然后按“回车”键
手动添加参数
步骤根据提示选择数字键(1、2、3、4),选择系统启动模式,本示例选择数字“1”继续启动
选择数字“1”继续启动
步骤通过chroot /mnt/sysroot命令进入本地系统根分区,然后根据提示按“ENTER”键在shell中重置密码
进入本地系统根分区
重置密码
2.4.3、服务器系统1010e版本,通过修改grub菜单进入单用户模式重置密码步骤如下
步骤一:进入单用户模式操作步骤见《如何进入单用户模式》1010e部分
步骤根据具体情况判断,系统根分区/sysroot需要以“rw”模式挂载,才能使用chroot命令切换至本地系统根环境后重置密码
如果/dev/mapper/uos-root是以rw模式挂载/sysroot,则可以执行
mount #查看是rw模式挂载 chroot sysroot/ #切换到本地系统根环境 LANG=en #设置字符集环境变量 mount -o remount rw / #重新以rw模式挂载根分区 passwd #重置当前用户密码
rw模式挂载系统根分区重置密码
如果/dev/mapper/uos-root是以ro模式挂载/sysroot,则可以执行
mount #查看是ro模式挂载 mount -o remount rw /sysroot/ #重新以rw模式挂载系统根分区 chroot /sysroot/ #切换本地系统根环境 export LANG=en_US.uft8 #设置字符集环境变量 passwd #重置当前用户密码
步骤按“Ctrl+Alt+Del”或输入“reboot”重启系统,使用新密码登录

 ©统信软件技术有限公司。访问者可将本网站提供的内容或服务用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。除此以外,将本网站任何内容或服务进行转载,须备注:该文档出自【faq.uniontech.com】统信软件知识分享平台。否则统信软件将追究相关版权责任。

2023-01-13
3 6