Ubuntu修改root用户密码教程,新手也能快速掌握

作者:djvps820 | 2026-07-09

一、Ubuntu 为什么默认没有 root 密码?

在使用 Ubuntu服务器或者 Linux 桌面系统的过程中,修改 root 用户密码是一个非常常见的操作。无论是刚购买云服务器后的系统初始化,还是因为密码泄露、团队成员交接、服务器安全维护,都可能需要重新设置 root 用户密码。

对于刚接触 Linux 的新手来说,root 用户、sudo 权限、SSH 登录等概念可能比较陌生,但实际上 Ubuntu 修改 root 密码并不复杂,只需要掌握几个基础命令即可完成操作。

Ubuntu 作为目前使用非常广泛的 Linux 发行版之一,在服务器领域拥有大量用户,包括云服务器、网站服务器、数据库服务器以及开发环境等。

与传统 Linux 系统不同,Ubuntu 默认并不会直接启用 root 用户远程登录,而是推荐普通用户通过 sudo 命令临时获取管理员权限。这种设计主要是为了提升系统安全性,避免用户长期使用最高权限账号操作系统,降低误操作导致服务器故障的风险。

本文将详细介绍 Ubuntu 修改 root 用户密码的方法,包括已经拥有 sudo 权限时如何修改、忘记密码时如何重置、如何开启 root 登录、如何通过 SSH 使用 root 登录,以及修改 root 密码后需要注意的安全问题。

很多刚开始使用 Ubuntu 的用户会发现一个问题:安装完成 Ubuntu 后,为什么 root 用户无法直接登录?甚至执行 su root 命令时,会提示认证失败?

这是因为 Ubuntu 默认采用了一种更加安全的管理员权限管理方式。

在 Ubuntu 系统中,root 用户实际上是存在的,但是默认处于锁定状态,没有设置可直接登录的密码。系统管理员通常使用安装系统时创建的普通用户,通过 sudo 命令执行管理员操作。

例如:

sudo apt update

这个命令表示使用当前用户临时获得管理员权限执行软件源更新操作。

而:

su root

则表示切换到 root 用户,需要输入 root 用户密码。如果 Ubuntu 没有设置 root 密码,就无法完成登录。

这种机制的优势在于,即使普通用户密码泄露,攻击者也无法直接获得最高权限。同时,sudo 还可以记录管理员操作日志,方便服务器安全审计。

不过,在一些服务器环境中,例如 VPS 主机管理、多用户运维、自动化脚本部署等场景,管理员可能仍然需要启用 root 用户,因此修改 root 密码成为必要操作。

二、Ubuntu 修改 root 密码最简单方法

如果当前用户拥有 sudo 权限,那么修改 root 密码非常简单,只需要执行 passwd 命令即可。

首先登录 Ubuntu 系统,然后打开终端。

执行:

sudo passwd root

系统会提示输入新的 root 密码:

New password: Retype new password:

输入两次相同的新密码即可。

如果修改成功,会看到类似提示:

passwd: password updated successfully

这表示 Ubuntu root 用户密码已经修改完成。

例如:

root@ubuntu:~# sudo passwd root New password: Retype new password: passwd: password updated successfully

此时 root 用户已经拥有新的登录密码。

三、如何确认 root 密码是否修改成功?

修改完成后,可以通过切换用户测试。

输入:

su root

然后输入刚刚设置的 root 密码。

如果成功,会进入 root 环境:

root@ubuntu:/home/user#

此时说明 root 密码设置成功。

也可以执行:

whoami

如果返回:

root

说明当前已经切换到 root 用户。

需要注意的是,如果执行 su root 后仍然失败,可能不是密码问题,而是 root 用户仍处于锁定状态,可以使用下面的方法解除。

四、解除 Ubuntu root 用户锁定状态

Ubuntu 默认会锁定 root 账户。如果 root 用户密码设置后仍无法登录,可以检查 root 用户当前状态。

执行:

sudo passwd -S root

如果显示类似:

root L 2026-07-09 0 99999 7 -1

其中:

  • L 代表 Locked,也就是 root 用户被锁定。

解除 root 锁定可以执行:

sudo passwd -u root

执行成功后:

passwd: password expiry information changed.

表示 root 用户已经解除锁定。

之后再次设置 root 密码:

sudo passwd root

即可正常使用 root 用户。

五、忘记 Ubuntu root 密码怎么办?

如果忘记 Ubuntu root 密码,也不用重新安装系统。Ubuntu 可以通过恢复模式重新设置 root 密码。

这种情况主要发生在:

  • 长时间没有登录服务器;
  • 更换管理员后不知道原密码;
  • VPS 商家没有提供 root 密码;
  • 修改密码后忘记保存。
方法一:通过 sudo 用户修改

如果还能登录普通管理员账号,那么无需知道旧密码。

直接执行:

sudo passwd root

输入新密码即可。

这是 Ubuntu 修改 root 密码最简单的方法。

方法二:进入 Ubuntu Recovery Mode

如果没有 sudo 权限,需要通过恢复模式修改 root 密码。

操作步骤如下:

  • 重启 Ubuntu 系统。
reboot
  • 启动过程中按住:
Shift

或者:

Esc

进入 GRUB 菜单。

选择:

Advanced options for Ubuntu

进入:

Recovery mode

然后选择:

root - Drop to root shell prompt

进入 root shell 后,需要重新挂载系统为可写状态:

mount -o rw,remount /

然后修改密码:

passwd root

输入新的 root 密码。

完成后执行:

reboot

重启系统即可。

六、Ubuntu 开启 root SSH 远程登录

很多 VPS 用户修改 root 密码后,会希望直接使用 SSH 登录服务器:

ssh root@服务器IP

但是 Ubuntu 默认禁止 root SSH 登录。

如果需要开启 root SSH 登录,需要修改 SSH 配置文件。

打开 SSH 配置:

nano /etc/ssh/sshd_config

找到:

#PermitRootLogin prohibit-password

修改为:

PermitRootLogin yes

如果配置文件中没有这一行,可以手动添加。

同时确认:

PasswordAuthentication yes

保存退出后,重启 SSH 服务。

Ubuntu 22.04、24.04:

systemctl restart ssh

部分 Linux 系统:

systemctl restart sshd

之后即可尝试:

ssh root@服务器IP

输入 root 密码即可登录。

七、开启 root 登录是否安全?

虽然 Ubuntu 可以开启 root SSH 登录,但是从服务器安全角度来看,并不推荐长期开放。

原因主要包括以下几个方面。

第一,root 用户拥有 Linux 系统最高权限。

如果 SSH 开放 root 登录,攻击者只需要不断尝试 root 密码,一旦密码泄露,服务器所有权限都会被控制。

第二,公网服务器经常受到自动化扫描攻击。

很多攻击程序会扫描服务器 22 端口,并尝试以下常见用户名:

root admin test

如果允许 root 用户直接登录,会增加暴力破解风险。

更安全的方式是创建普通用户,然后通过 sudo 获取管理员权限。

创建普通用户:

adduser username

加入 sudo 权限:

usermod -aG sudo username

以后使用:

ssh username@IP

登录服务器,再通过:

sudo -i

获取 root 权限。

八、修改 Ubuntu root 密码后的安全建议

修改 root 密码只是服务器安全管理的第一步。如果服务器直接暴露在公网环境,例如云服务器、VPS、独立服务器,还需要进行进一步安全优化。

1. 使用强密码

不要使用以下简单密码:

123456 password admin123 root123

建议密码满足:

  • 长度超过 12 位;
  • 包含大小写字母;
  • 包含数字;
  • 包含特殊字符。

例如:

Ubuntu@2026_Server#

复杂密码可以有效提高服务器安全性。

2. 修改 SSH 默认端口

Ubuntu 默认 SSH 端口:

22

大量扫描程序都会扫描该端口。

编辑 SSH 配置:

nano /etc/ssh/sshd_config

修改:

Port 2222

然后重启 SSH:

systemctl restart ssh 3. 开启防火墙

Ubuntu 自带 UFW 防火墙。

查看状态:

ufw status

开启防火墙:

ufw enable

允许 SSH:

ufw allow 22

如果修改 SSH 端口:

ufw allow 2222 4. 使用 SSH 密钥登录

相比密码登录,SSH Key 登录方式安全性更高。

生成密钥:

ssh-keygen

上传公钥:

ssh-copy-id username@服务器IP

以后可以使用密钥登录服务器,同时关闭密码认证,提高整体安全性。

九、Ubuntu 修改 root 密码常见问题

1. 执行 passwd root 提示 Authentication token manipulation error

在修改 Ubuntu root 密码时,有些用户可能会遇到以下错误:

passwd: Authentication token manipulation error passwd: password unchanged

这个问题通常是由于系统文件处于只读状态导致,尤其是在恢复模式或者磁盘异常挂载情况下比较常见。

解决方法是重新将根目录挂载为可写状态:

mount -o remount,rw /

然后重新执行:

passwd root

输入新的 root 密码即可。

2. root 密码正确但是 SSH 登录失败

有些用户修改 root 密码后,通过 SSH 登录仍然失败,例如:

ssh root@服务器IP

这种情况通常不是密码错误,而是 SSH 服务配置限制导致。

常见原因包括:

  • SSH 配置禁止 root 登录;
  • PasswordAuthentication 被关闭;
  • 服务器防火墙限制 SSH 端口;
  • 云服务器安全组未开放 SSH 端口。

可以检查 SSH 配置文件:

cat /etc/ssh/sshd_config

确认以下配置:

PermitRootLogin yes PasswordAuthentication yes

修改后重新启动 SSH 服务:

systemctl restart ssh 3. sudo 提示用户不在 sudoers 文件

如果执行 sudo 命令时出现:

user is not in the sudoers file

说明当前账号没有管理员权限。

需要使用已有管理员账号添加 sudo 权限。

执行:

usermod -aG sudo 用户名

然后退出当前会话,重新登录系统即可生效。

十、Ubuntu 修改 root 密码总结

Ubuntu 修改 root 用户密码并不是一件复杂的事情,对于拥有 sudo 权限的用户来说,只需要执行:

sudo passwd root

即可完成 root 密码修改。

如果遇到 root 无法登录、忘记密码、SSH 登录失败等问题,也可以通过解除 root 锁定、恢复模式修改密码、调整 SSH 配置等方式解决。

不过需要注意,root 用户拥有 Linux 系统最高权限,开启 root 登录虽然方便,但也会增加服务器安全风险。

对于长期运行的网站、数据库、业务系统服务器,更推荐使用:

普通用户 + sudo 权限管理

并配合以下安全措施:

  • SSH 密钥登录;
  • 强密码策略;
  • 防火墙规则;
  • 限制 SSH 登录权限;
  • 定期检查系统安全日志。

掌握 Ubuntu root 密码修改方法,是 Linux 服务器管理中的基础技能。无论是部署网站、搭建 VPS 环境,还是进行服务器维护,这些命令都会成为日常运维工作中经常使用的工具。

只要理解 Ubuntu 的权限管理机制,即使是 Linux 新手,也可以快速完成服务器管理员相关操作,并更加安全地维护自己的 Ubuntu 服务器环境。