当前位置:首页 > Linux > 正文

如何在Linux中更改root密码?

以root权限执行 passwd命令: ,1. 终端输入 sudo passwd root(Ubuntu等)或直接 passwd(已切换root) ,2. 根据提示输入两次新密码 ,3. 显示”successfully”即完成更新

方法1:已知当前root密码(推荐命令)

适用场景:已登录root账户或通过su切换至root

# 1. 登录root账户后执行
passwd
# 2. 按提示输入两次新密码
New password: 
Retype new password: 
passwd: password updated successfully

关键提示

  • 密码需至少8位,混合大小写字母、数字和符号
  • 输入时不显示字符(盲打),属正常设计

方法2:无root密码时通过单用户模式修改

适用场景:忘记密码且拥有物理/虚拟控制台访问权限
步骤

如何在Linux中更改root密码?  第1张

  1. 重启系统,在GRUB启动菜单按e进入编辑模式
  2. 定位内核行(以linuxlinux16开头),在行尾追加:
    init=/bin/bash

    (图:内核参数编辑位置示意)

  3. Ctrl+X启动到bash环境
  4. 挂载根分区并重置密码
    mount -o remount,rw /  # 重新挂载根目录为可写
    passwd root            # 设置新密码
    sync                   # 强制写入磁盘
    exec /sbin/init        # 正常重启系统

风险提示

  • 需物理接触服务器,云主机需使用VNC控制台
  • 全盘加密(LUKS)系统需先解密

方法3:通过sudo权限修改(非root用户)

适用场景:普通用户拥有sudo权限

sudo passwd root  # 验证自身密码后设置root新密码

安全强化建议

  1. 密码策略
    sudo vi /etc/security/pwquality.conf  # 调整密码复杂度要求
    • 建议设置:minlen=10 minclass=3(数字/大写/符号)
  2. 定期更换:使用chage -l root检查密码有效期
  3. 禁用root登录(可选):
    sudo passwd -l root  # 锁定密码(仍可通过sudo提权)
    sudo vi /etc/ssh/sshd_config  # 设置PermitRootLogin no

故障排查

  • Authentication token manipulation error
    • 检查/etc/shadow权限是否为640
    • 使用pwck验证账户配置完整性
  • 单用户模式失败:确认GRUB是否被加密(需编辑/boot/grub/grub.cfg

操作警示:生产环境操作前务必备份数据,错误修改可能导致系统无法启动,关键操作建议在测试环境验证。


引用说明

  • Linux密码管理规范参考《Linux Standard Base Core Specification 5.0》
  • GRUB引导流程遵循GNU GRUB Manual 2.06技术标准
  • 安全建议符合NIST SP 800-63B最新密码策略指南

(本文所述方法已在Ubuntu 22.04/CentOS 7/RHEL 9验证,适用于主流Linux发行版)

0