怎么更改linux开机密码
怎么更改linux开机密码详细介绍
在 Linux 系统中更改开机密码(即用户登录密码)有两种常见场景:已登录系统时修改密码 和 忘记密码时重置密码。以下是详细步骤:
一、已登录系统时更改密码(普通用户 / 管理员)
1.
修改当前用户密码(普通用户)
- 打开终端,输入以下命令,按提示输入新旧密码:bash
- 提示:plaintext
输入当前密码(当前用户密码):输入新密码:
重新输入新密码:
2.
修改其他用户密码(需管理员权限)
- 如果你是管理员(或有
sudo权限),可以直接修改其他用户的密码:bash目标用户名例如修改用户
user1的密码:bashuser1按提示输入新密码即可(无需输入原密码)。
二、忘记密码时重置密码(需进入单用户模式)
如果忘记密码无法登录,需通过 单用户模式(或救援模式)重置密码,适用于大多数 Linux 发行版(如 Ubuntu、CentOS、Debian 等)。
步骤 1:重启系统并进入引导菜单
- 按下主机电源重启,在启动过程中(BIOS/UEFI 自检后),快速按下键盘上的方向键(↑↓) 暂停引导,进入 GRUB 引导菜单(如果是 Windows + Linux 双系统,可能需要选择 Linux 分区)。
步骤 2:编辑启动项以进入单用户模式
- 在 GRUB 菜单中,用方向键选择当前使用的 Linux 内核(通常是带 “*” 或默认选中的项),按下
e键进入编辑模式。 - 在编辑界面中,找到以
linux或linux16开头的行(不同发行版可能略有差异),在该行末尾添加以下参数(用于跳过登录验证并获取 root 权限):
plaintextsystemd.unit=rescue.target或(传统方法,适用于非 systemd 系统):
plaintextrw init=/bin/sh- 示例(原行为
linux /vmlinuz-5.15.0-78-generic root=UUID=xxx ro quiet splash):
修改为:plaintextlinux /vmlinuz-5.15.0-78-generic root=UUID=xxx ro quiet splash systemd.unit=rescue.target
- 示例(原行为
步骤 3:启动单用户模式并挂载根分区
- 按下
Ctrl+X或F10启动修改后的引导项,进入 救援模式(会自动以 root 身份登录)。- 如果使用
init=/bin/sh,可能需要手动挂载根分区为可写:bashremount,rw /
- 如果使用
步骤 4:重置密码
- 使用
passwd命令修改密码(例如修改用户user1的密码):bashuser1按提示输入新密码(无需原密码)。
步骤 5:重启系统
- 重置完成后,输入以下命令重启:bash
三、注意事项
- 不同发行版的差异:
- Ubuntu/Debian 等基于 systemd 的系统,推荐使用
systemd.unit=rescue.target; - CentOS/RHEL 旧版本可能需要
init=/bin/sh,但新版本也支持 systemd 方法。 - 如果 GRUB 菜单未显示,可能需要在启动时按
Esc、F2、F12等按键(具体取决于主板型号)。
- Ubuntu/Debian 等基于 systemd 的系统,推荐使用
- 安全提示:
- 单用户模式需要物理访问权限,确保设备安全;
- 管理员修改密码时,避免使用简单密码,建议定期更换。
- 图形界面工具:
如果已登录,也可以通过图形界面修改密码(如 Ubuntu 的 “设置” → “用户” → 点击密码旁的 “更改”)。
根据你的具体场景选择对应方法,若遇到问题(如 GRUB 菜单无法进入),可提供系统版本信息进一步排查。