商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 系统应用 > Linux如何修改root用户的密码

Linux如何修改root用户的密码

  发布于2026-08-14 阅读(0)

扫一扫,手机访问

如果系统还能正常登录,最省事的做法就是直接运行 sudo passwd root;要是把 root 密码彻底忘了,那就得进入 GRUB,修改启动参数后再重置。已经登录并且具备 sudo 权限的情况下,执行这条命令时,先输入当前用户的密码,然后把新的 root 密码连续设置两次就可以了。

Linux如何修改root用户的密码

能正常登录系统时,直接运行 sudo passwd root 就行;彻底忘了密码,必须进 GRUB 修改启动参数重置——没别的路。

已登录且有 sudo 权限:用 sudo passwd root 最稳

只要当前用户在 sudoers 里(比如属于 sudowheel 组),就能一步改掉 root 密码,不需要知道原密码。

  • 执行 sudo passwd root 后,先输的是你自己的密码(不是 root 的),输完回车
  • 接着提示输入新 root 密码两次,输入时不显示字符,属正常现象
  • 密码太短(<8 字符)或缺大小写字母/数字时,passwd 会报 BAD PASSWORD,但默认仍会接受——除非系统启用了严格策略(如 pam_pwquality
  • 改完立刻生效,所有已打开的终端 session 不受影响,也不需重启服务

GRUB 下重置遗忘密码:rd.break vs init=/bin/bash

两者都绕过登录流程,但适用场景和风险不同:

  • rd.break(RHEL/CentOS/Fedora/Rocky/AlmaLinux 推荐):  – 在 linux 行末尾加 rd.break,启动后进 switch_root:/#  – 必须先 mount -o remount,rw /sysroot,再 chroot /sysroot,然后跑 passwd root  – SELinux 启用时,必须执行 touch /.autorelabel,否则下次启动卡住
  • init=/bin/bash(Ubuntu/Debian/Arch/RHEL 全系通用):  – 把 ro 改成 rw,末尾加 init=/bin/bash  – 启动即落在 sh-5.1#,根目录已可写,直接 passwd root  – 同样要 touch /.autorelabel,哪怕你不确定 SELinux 是否开启——省事但别跳过

改完登不进去?大概率不是密码没生效

常见真因和对应检查点:

  • /etc/shadow 所在分区仍是只读:重置后没执行 mount -o remount,rw /mount -o remount,rw /sysroot
  • SELinux 上下文损坏:没打 /.autorelabel 标记,或重置后没等 relabel 完成就强行登录
  • /boot 在独立分区但没手动挂载:导致 initramfs 加载失败,系统卡在 early boot 阶段,根本到不了 PAM 认证环节
  • 某些云平台(如 AWS EC2、阿里云 ECS)禁用了 GRUB 编辑,VNC 控制台也受限——这种情况下,重置密码唯一可行路径是挂载系统盘到另一台实例修改 /etc/shadow

真正棘手的,往往不是命令敲错了,而是密码明明已经改完,系统却还是卡在登录界面进不去——这通常意味着问题不在 passwd 本身,而在更底层:挂载是否正确、SELinux 状态有没有处理好、分区状态是不是正常。如果这些环节没理顺,只盯着 passwd 看,基本解决不了问题。

本文转载于:https://www.php.cn/faq/2979025.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注