进入Linux 7单用户模式修改密码的步骤如下,以CentOS/RHEL 7为例:
1. 重启系统
在启动时快速按任意键(如方向键)中断Grub2引导菜单的自动倒计时。
2. 编辑Grub启动项
在Grub菜单中选择默认启动内核(通常为首项),按`e`键进入编辑模式。找到以`linux16`或`linuxefi`开头的行,在行末添加以下参数:
rd.break console=tty0
或
init=/bin/sh
前者会挂载`/sysroot`为只读,后者直接进入shell环境。
3. 挂载文件系统为可写
若使用`rd.break`方式,继续执行:
bash
mount -o remount,rw /sysroot
chroot /sysroot
若使用`init=/bin/sh`方式,需先检查根分区是否已挂载为读写:
bash
mount -o remount,rw /
4. 修改密码
执行`passwd`命令修改root密码,输入两次新密码:
bash
passwd root
5. 处理SELinux(仅限启用时)
若系统启用SELinux,必须创建标记文件以自动修复上下文:
bash
touch /.autorelabel
6. 退出并重启
依次执行:
bash
exit
reboot -f
扩展知识:
单用户模式本质:加载最小系统环境,不启动服务或网络,适用于紧急维护。
SELinux影响:未正确标记上下文可能导致启动失败,`/.autorelabel`会触发下次启动时的自动修复。
替代方案:若Grub需密码保护,可通过`grub2-setpassword`设置Grub管理员密码。
日志记录:单用户操作会被记入`/var/log/secure`,但无网络时可能丢失日志同步。
系统恢复:单用户模式也可用于修复fstab错误、磁盘检测等操作,需熟悉`fsck`和`mount`命令。
注意:对于物理服务器需本地操作,云服务器可能需要通过控制台连接。不同发行版(如Ubuntu)可能使用`recovery mode`或`init=/bin/bash`参数。