LINUX及UOS操作系统密码过期以及忘记密码问题处理

一、root 密码过期强制修改,图形界面卡住改不了,可以这样处理:

方法 1:知道旧密码,切到控制台终端修改

  1. 按快捷键 Ctrl + Alt + F3
  2. 登录:用户名 root,输入旧密码
  3. 执行命令修改密码:

passwd root

依次输入两次新密码(复杂度要满足:长度、大小写、数字)

4. 顺便关掉密码过期(防止以后再弹):

chage -M 99999 root

方法 2忘记旧密码,需要单用户模式重置密码:

  1. 重启服务器,在 grub 菜单开机显示选择系统的位置e 编辑启动项
  2. 找到 linux 那一行,末尾加上:init=/bin/bash
  3. Ctrl+x 启动,进入单用户 shell

bash

mount -o remount,rw /

passwd root

chage -M 99999 root

mount -o remount,ro /

exec /sbin/init

注意:新密码不能和旧密码太像,要符合系统密码策略。

UOS系统,执行过程中报错(鉴定令牌操作错误)

  1. 重启机器,重新进单用户,GRUB 菜单按 e 编辑启动项
  2. 找到以 linux 开头那一行,删掉原来末尾的 init=/bin/bash,改成:

rw single init=/bin/bash

重点:最前面加上 rw让内核一开始就以读写模式挂载 /

  1. Ctrl+x 启动进入 shell

进去后依次执行:

# 确认权限

lsattr /etc/passwd /etc/shadow

# 修复shadow权限

chmod 600 /etc/shadow

chown root:root /etc/shadow

# 补齐安全文件

touch /etc/security/opasswd

chmod 600 /etc/security/opasswd

# 重置密码

passwd root

# 取消密码过期

chage -M 99999 root

# 正常启动exec /sbin/init

补充说明:

  • 只写 init=/bin/bash:内核先只读挂载根,后面手动 remount 很多时候对 UOS/LVM 不彻底,passwd 一直报令牌错误。
  • rw single init=/bin/bash:内核启动时直接读写挂载,是统信官方文档给出的标准修复方案统信软件-...

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐