通过sudo命令(推荐日常使用)
适用场景:当前用户拥有sudo权限(Ubuntu/Debian等默认禁用root,需此法)
sudo passwd root
- 终端输入命令,按提示输入当前用户密码(验证sudo权限)
- 设置高强度新密码(建议12位以上,含大小写字母、数字、符号)
- 确认新密码,显示
passwd: password updated successfully
即成功
直接登录root用户修改
适用场景:已通过su -
或SSH登录root账户
passwd
- 输入命令后直接设置新密码(无需旧密码验证)
- 安全提示:避免长期保持root登录状态,操作完毕及时退出
单用户模式(忘记密码时急救)
适用场景:系统启动时重置root密码(需物理/虚拟主机访问权限)
- 重启系统,在GRUB启动菜单按
e
进入编辑模式 - 找到
linux
或linux16
开头的行,末尾添加init=/bin/bash
- 按
Ctrl+X
启动,进入单用户模式的bash shell - 执行以下命令:
mount -o remount,rw / # 挂载根目录为可写 passwd root # 设置新密码 sync # 同步数据到磁盘 exec /sbin/init # 正常重启系统
⚠️ 警告:此操作需物理安全环境,服务器机房中谨慎使用
Live CD/USB救援模式
适用场景:单用户模式失效或系统无法启动(如GRUB加密)
- 用Linux Live USB启动电脑(如Ubuntu ISO)
- 打开终端,挂载原系统根分区:
sudo fdisk -l # 查看原系统分区(如/dev/sda1) sudo mount /dev/sda1 /mnt # 挂载分区 sudo chroot /mnt # 切换根环境 passwd root # 修改密码 exit # 退出 sudo reboot # 重启
安全强化建议
- 密码策略:
- 长度≥12位,混合大小写、数字、特殊符号(如
J7$k!9xL@Q2f
) - 每3个月更换一次,避免复用旧密码
- 长度≥12位,混合大小写、数字、特殊符号(如
- 权限最小化:
- 日常使用普通账户+
sudo
,减少root直接登录 - 通过
visudo
限制sudo权限用户
- 日常使用普通账户+
- 日志监控:
- 检查
/var/log/auth.log
(Debian系)或/var/log/secure
(RHEL系)中的root登录记录
- 检查
- 双因素认证:
对SSH登录启用Google Authenticator(教程见引用[1])
常见问题解答
Q:Ubuntu安装时未设root密码,如何启用?
A:首次启用需执行sudo passwd root
,默认root账户锁定。
Q:修改后仍无法SSH登录root?
A:检查/etc/ssh/sshd_config
中PermitRootLogin
参数,修改为yes
后重启SSH服务。
Q:单用户模式要求输入root密码?
A:若GRUB加密(有password
字段),需先按p
输入GRUB密码才能编辑。
操作警示:
- 修改root密码影响全系统安全,确认操作环境可信
- 生产环境建议提前备份关键数据
- 云服务器慎用单用户模式,部分厂商需通过控制台重置
引用说明:
[1] Linux手册页 man passwd
(2025)
[2] Ubuntu官方文档:Root账户管理
[3] Red Hat安全指南:密码策略配置
[4] SSH双因素认证教程:DigitalOcean社区教程(2022更新)
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/7584.html