如何修改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. 修改内核参数
    找到以linux16或linuxefi开头的行,在行尾添加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密码,能进入引导菜单 修改内核参数→chroot→passwd
Live CD/USB修改 系统无法启动,无单用户模式入口 挂载分区→chroot→passwd

注意事项

  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/sdaX(sdaX为根分区);
  • 修复文件权限:chattr -i /etc/shadow,再修改密码。

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

赞 (0)
酷番叔酷番叔
上一篇 2025年9月20日 14:37
下一篇 2025年9月20日 14:51

相关推荐

  • Linux系统下如何连接WiFi网络?

    在Linux系统中连接WiFi根据使用场景和发行版的不同,有多种方式,包括图形界面操作、命令行工具(如nmcli)以及手动配置文件编辑等,下面将详细介绍这些方法,帮助不同用户选择适合自己的连接方式,图形界面连接(适合桌面用户)大多数Linux发行版(如Ubuntu、Mint、Fedora等)默认提供图形化网络管……

    2025年9月8日
    30600
  • linux ls命令如何查看特定关键字

    ls命令结合grep,如ls | grep 关键字,可

    2025年8月19日
    24800
  • Linux如何显示图片?有哪些图形界面与命令行方法?

    在Linux系统中,显示图片的方式多种多样,既包括图形界面下的可视化工具,也涵盖命令行下的轻量级解决方案,甚至可通过编程接口实现自定义显示,根据用户需求和使用场景的不同,可选择适合的工具和方法,图形界面下的图片查看工具对于使用图形界面的Linux用户,图片查看器是最直观的选择,主流桌面环境通常自带默认查看器,也……

    2025年9月28日
    27200
  • xftp如何连接Linux虚拟机?操作步骤与配置方法详解?

    要通过XFTP连接Linux虚拟机,需确保虚拟机网络配置正确、SSH服务正常运行,并在XFTP中正确设置连接参数,以下是详细步骤和注意事项:连接前的准备工作确认Linux虚拟机网络状态XFTP通过SSH协议连接Linux虚拟机,需确保虚拟机与宿主机(Windows)处于同一局域网,且网络互通,网络模式设置:以V……

    2025年9月27日
    36400
  • Linux系统如何安装微信?

    在Linux系统中,由于腾讯官方未推出原生微信客户端,用户通常需通过第三方方案实现微信的使用,以下是几种主流安装方法的详细步骤及注意事项,覆盖不同Linux发行版的需求,微信Electron版(WeChat for Linux)这是目前功能最接近官方客户端的方案,基于Electron开发,支持消息收发、文件传输……

    2025年9月21日
    44300

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信