百度
360搜索
搜狗搜索

Linux怎么找回su密码详细介绍

在 Linux 系统中找回或重置 root 密码(即 su 密码)的方法因发行版和系统配置而异。以下是针对不同场景的详细解决方案,涵盖单用户模式、救援模式、云平台重置等,并附安全注意事项:

一、通用方法:单用户模式(适用于大多数发行版)

步骤:

  1. 重启系统并进入 GRUB 菜单

    • 启动或重启系统,在 GRUB 引导界面出现时按EscShiftE键(不同系统可能不同,需多次尝试)。
    • 选择要启动的内核条目(通常是第一个),按e键进入编辑模式。

  2. 修改内核参数

    • 找到以linuxlinux16开头的行,将末尾的ro quiet splash改为rw init=/bin/bash(部分系统需改为rw single)。
    • 示例:bash
      linux /vmlinuz-xxx root=/dev/sda1 rw init=/bin/bash

  3. 进入单用户模式

    • Ctrl+XF10启动系统,进入单用户模式(root 权限)。

  4. 重置 root 密码

    • 重新挂载根文件系统为可读写(部分系统已自动挂载):bash
      mount -o remount,rw /

    • 执行密码重置命令:bash
      passwd root

      输入新密码并确认。

  5. 处理 SELinux(如启用)

    • 若系统启用了 SELinux,需执行:bash
      touch /.autorelabel

  6. 重启系统

    • 输入以下命令重启:bash
      exec /sbin/init

      或直接按Ctrl+Alt+Delete

二、发行版特定方法

1.
Ubuntu/Debian

  • 方法一:通过恢复模式

    • 重启系统,在 GRUB 菜单选择 “Advanced options for Ubuntu”,再选择 “recovery mode”。
    • 进入恢复菜单后,选择 “root” 模式,输入命令passwd root重置密码。

  • 方法二:通过 sudo 用户

    • 若有 sudo 权限用户,直接在终端执行:bash
      sudo passwd root

2.
CentOS/RHEL

  • 紧急模式(Emergency Mode)
    • GRUB 编辑模式中,将内核参数改为rd.break enforcing=0,按Ctrl+X启动。
    • 执行以下命令:bash
      mount -o remount,rw /sysroot  

      chroot /sysroot

      passwd root

      touch /.autorelabel

      exit

      reboot

3.
Fedora

  • 紧急模式
    • GRUB 编辑模式中,将内核参数改为rw init=/bin/bash,按Ctrl+X启动。
    • 直接执行passwd root重置密码。

4.
Oracle Linux

  • 救援模式
    • 引导时选择 “Rescue a Linux system”,进入后执行:bash
      chroot /mnt/sysimage  

      passwd root

      exit

      reboot

三、特殊场景解决方案

1.
GRUB 密码保护

  • 步骤
    1. 使用 Live CD/USB 启动系统。
    2. 挂载原系统根分区:bash
      mount /dev/sda1 /mnt  

    3. 编辑/mnt/etc/grub.d/00_header文件,注释或删除密码相关行。
    4. 重新生成 GRUB 配置:bash
      chroot /mnt  

      update-grub

2.
LUKS 加密根文件系统

  • 步骤
    1. 进入救援模式或单用户模式。
    2. 解密加密分区:bash
      cryptsetup luksOpen /dev/sda1 cryptroot  

      输入 LUKS 密码。

    3. 挂载解密后的分区:bash
      mount /dev/mapper/cryptroot /mnt  

    4. 进入系统并重置密码:bash
      chroot /mnt  

      passwd root

3.
云平台(AWS/Azure)

  • AWS EC2

    • 登录 AWS 控制台,选择实例,点击 “实例设置”→“重置密码”,通过密钥对或控制台重置。

  • Azure

    • 登录 Azure 门户,选择虚拟机,点击 “重置密码”,通过 SSH 公钥或密码方式重置。

四、安全注意事项

  1. 密码强度

    • 新密码需包含大小写字母、数字和特殊字符,长度≥8 位。
    • 避免使用字典词或个人信息。

  2. SELinux 处理

    • 若系统启用 SELinux,重置密码后需执行restorecon -v /etc/shadow恢复安全上下文。

  3. 权限管理

    • 建议使用sudo替代直接使用 root 账户。
    • 禁用不必要的服务(如telnetftp)。

  4. 多因素认证(MFA)

    • 启用 SSH 密钥认证或 Google Authenticator 等二次认证。

  5. 定期备份

    • 重置密码前备份重要数据,防止操作失误导致数据丢失。

五、常见问题解决

  • 问题 1:GRUB 菜单无法进入。

    • 解决:尝试多次按EscShift键,或检查 BIOS 设置。

  • 问题 2:重置密码后仍无法登录。

    • 解决:检查是否有 SELinux 或文件系统错误,执行fsck修复。

  • 问题 3:远程服务器无法物理访问。

    • 解决:通过云平台控制台或 KVM 远程管理工具重置密码。

六、总结

重置 root 密码的核心思路是利用系统启动时的特权模式(如单用户模式、救援模式)绕过密码验证。具体步骤因发行版和系统配置而异,需根据实际情况选择。操作完成后,务必加强系统安全,定期更换密码并启用多因素认证。若遇到复杂问题(如加密分区或 GRUB 密码保护),建议参考官方文档或联系技术支持。

阅读更多 >>>  将windows文件拷到linux下命令

网站数据信息

"Linux怎么找回su密码"浏览人数已经达到22次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:Linux怎么找回su密码的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!