如何修改Linux系统的root登录密码?

在Linux系统中,root账户是具有最高权限的管理员账户,定期修改root密码是保障系统安全的重要措施,修改root密码的方法根据系统当前状态(是否正常登录、是否忘记密码等)有所不同,以下是几种常见场景下的详细操作步骤。

如何改linux root密码

系统正常启动且有权限时修改密码

当系统可以正常登录,且当前用户具有sudo权限(或已经是root用户)时,修改root密码是最简单的情况。

操作步骤

  1. 切换至root用户(可选)
    如果当前是普通用户且具有sudo权限,可先切换到root用户:

    sudo su -  # 输入当前用户密码,切换至root

    若已是root用户,可直接跳过此步。

  2. 执行passwd命令修改密码
    使用passwd命令,根据提示输入新密码(两次):

    passwd  # 执行后提示输入新密码,再次确认

    密码要求通常包含8位以上,且包含大小写字母、数字和特殊字符(具体复杂度要求可查/etc/login.defs/etc/pam.d/passwd)。

  3. 验证密码是否修改成功

    su -  # 退出当前root会话,重新登录

    输入新密码,若能成功登录则表示修改成功。

    如何改linux root密码

忘记root密码时通过单用户模式修改

若忘记root密码且系统支持进入单用户模式(救援模式),可通过以下步骤重置密码(以CentOS 7/Ubuntu为例):

CentOS 7系统操作步骤

  1. 进入GRUB引导菜单
    重启系统,在GRUB引导界面按e键进入编辑模式(需在倒计时结束前操作)。

  2. 修改内核参数
    找到以linux16linuxefi开头的行,在行尾添加rd.break(CentOS 7)或init=/bin/bash(旧版本),按Ctrl+X启动。

  3. 挂载根分区并重置密码
    系统会进入紧急模式(或bash shell),执行以下命令:

    mount -o remount,rw /sysroot  # 重新挂载根分区为读写模式
    chroot /sysroot  # 切换至原系统环境
    passwd  # 输入新密码(两次)
    touch /.autorelabel  # (可选)若SELinux开启,需创建此文件以重新标记安全上下文
    exit  # 退出chroot
    reboot  # 重启系统

Ubuntu系统操作步骤

  1. 进入GRUB引导菜单
    重启系统,长按Shift键(或按Esc)进入GRUB菜单,选择“Advanced options for Ubuntu”,进入recovery模式。

  2. 选择root shell
    在recovery模式菜单中选择“root”选项,进入命令行界面。

  3. 挂载根分区并修改密码

    如何改linux root密码

    mount -o remount,rw /  # 挂载根分区为读写
    passwd  # 输入新密码
    reboot  # 重启

通过Live CD/USB修改密码(系统无法启动时)

若系统无法进入单用户模式,需通过Live CD/USB启动盘修改密码:

  1. 启动Live系统
    用Linux安装U盘(如Ubuntu、CentOS Live USB)启动,选择“Try Ubuntu”或“Test this media”进入Live环境。

  2. 挂载原系统根分区
    首先查看原系统根分区位置(sudo fdisk -l),假设为/dev/sda2,挂载至/mnt

    sudo mount /dev/sda2 /mnt  # 挂载根分区
    sudo mount /dev/sda1 /mnt/boot  # (若有/boot分区需单独挂载)
    sudo mount -t proc proc /mnt/proc  # 挂载必要目录
    sudo mount -t sysfs sysfs /mnt/sys
    sudo mount --bind /dev /mnt/dev  # 绑定dev目录
  3. Chroot至原系统并修改密码

    sudo chroot /mnt  # 切换至原系统环境
    passwd  # 输入新密码
    exit  # 退出chroot
    sudo reboot  # 重启,移除Live USB

不同修改方法对比

方法 适用场景 关键步骤
正常登录后修改 系统正常启动,有sudo/root权限 sudo su -passwd
单用户模式修改 忘记root密码,能进入引导菜单 修改内核参数→chrootpasswd
Live CD/USB修改 系统无法启动,无单用户模式入口 挂载分区→chrootpasswd

注意事项

  1. 密码复杂度:避免使用简单密码(如123456、生日等),建议包含大小写字母、数字及特殊字符。
  2. 权限问题:修改密码需确保对/etc/shadow文件有读写权限(正常情况下root用户默认拥有)。
  3. SELinux影响:CentOS等系统开启SELinux时,修改密码后可能需执行restorecon -Rv /修复安全上下文。

相关问答FAQs

Q1:修改root密码后无法登录,提示“Authentication failure”,怎么办?
A:可能原因包括密码输入错误、/etc/shadow文件权限异常(应为0600)或SELinux拦截,可尝试:

  • 检查/etc/shadow权限:chmod 600 /etc/shadow
  • 若为SELinux问题,临时关闭:setenforce 0,修改后重新开启:setenforce 1

Q2:为什么用passwd命令修改密码时提示“Authentication token manipulation error”?
A:通常因/etc/shadow/etc/passwd文件损坏、权限不当,或文件系统只读导致,解决方法:

  • 检查文件系统:fsck /dev/sdaXsdaX为根分区);
  • 修复文件权限:chattr -i /etc/shadow,再修改密码。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/26877.html

(0)
酷番叔酷番叔
上一篇 1小时前
下一篇 1小时前

相关推荐

  • Linux如何快速登录MySQL?

    前提条件安装MySQL客户端若未安装,执行以下命令(以Ubuntu/Debian为例):sudo apt update && sudo apt install mysql-clientCentOS/RHEL系统:sudo yum install mysql准备数据库凭据有效的MySQL用户名(如……

    2025年6月23日
    3900
  • 如何从新手成长为Linux高手?关键能力与进阶路径是什么?

    成为Linux高手并非一蹴而就的过程,它需要系统性的知识积累、大量的实践操作以及持续的技术探索,Linux作为开源世界的核心,其学习路径既需要扎实的基础,也需要灵活的实践思维,以下从基础夯实、进阶技能、实践方法、学习资源四个维度,详细阐述如何逐步成长为Linux高手,夯实基础:理解Linux核心概念与常用命令L……

    2025年8月30日
    2000
  • 如何登录到linux主机名

    过SSH命令(如ssh 用户名@主机名)或使用远程登录工具,输入

    2025年8月15日
    2100
  • apache如何启动linux

    Linux系统中,启动Apache服务通常使用命令sudo systemctl start httpd(基于systemd的系统)或`sudo

    2025年8月18日
    1900
  • Ubuntu真的完全免费吗?

    前期准备服务器选择云服务器:推荐阿里云、腾讯云(1核2G起步,约¥60/月),选择Ubuntu 22.04或CentOS 7+系统,本地服务器:需公网IP并配置端口转发(80/443端口),域名注册:在阿里云/GoDaddy购买域名(如 example.com),完成实名认证,基础环境配置# 更新系统sudo……

    2025年7月1日
    3900

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信