如何修改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)
酷番叔酷番叔
上一篇 2025年9月20日 14:37
下一篇 2025年9月20日 14:51

相关推荐

  • linux如何安装tftp服务器配置

    Linux中,安装TFTP服务器需先安装相关软件包如`tftpd-h

    2025年8月16日
    4700
  • Linux字符界面如何进行粘贴复制?

    在Linux字符界面(终端)中,复制粘贴操作因场景(本地终端、远程SSH、纯字符界面等)和工具差异而有所不同,掌握多种方法能显著提升工作效率,本文将详细讲解不同场景下的复制粘贴技巧,涵盖终端模拟器快捷键、命令行工具、多路复用工具及纯字符界面解决方案,终端模拟器中的鼠标复制粘贴(本地图形界面终端)在本地Linux……

    2025年8月27日
    5800
  • 如何安全终止Linux中的sh脚本?

    前台运行脚本的终止(直接可见进程)若脚本在终端前台运行(例如通过 ./script.sh 启动):按下组合键:Ctrl + C立即发送 SIGINT 信号终止进程,适用于大多数情况,后台运行脚本的终止(需定位进程)步骤1:定位进程ID(PID)方法1:使用 ps 命令ps aux | grep sh输出示例:u……

    2025年8月4日
    6100
  • 如何查看U盘设备标识?

    如何用U盘启动Linux?详细操作指南为什么需要U盘启动Linux?U盘启动Linux是体验或安装Linux系统的核心方式,适合以下场景:零风险试用:不修改硬盘数据,直接在U盘运行Linux(Live模式)系统安装/修复:为新电脑安装Linux或修复崩溃的系统便携工作环境:随身携带个性化Linux系统安全检测……

    2025年6月15日
    7600
  • 如何使用touch命令提升效率?

    在Linux系统中,文件修改时间(Modification Time,简称mtime)记录了文件内容最后一次被更改的时间戳,修改这一时间戳的需求可能出现在多种场景中,修复备份时间、调试程序、同步文件状态或合规性审计,以下是几种安全且高效的修改方法,所有操作均需文件或目录的写权限,touch 是Linux核心工具……

    2025年7月8日
    7700

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信