Skip to main content

2.2 启用 root 用户账户

Ubuntu 系统默认禁用 root 账户,因其未预设密码,此举旨在遵循最小权限原则,降低因直接使用 root 导致的误操作或安全风险。日常管理任务应优先通过 sudo 机制执行——即以具备 sudo 权限的普通管理员账户调用特权命令,该方式支持细粒度审计、密码重验证及策略化授权。


仅在特定运维场景(如嵌入式环境调试、兼容性要求或自动化脚本受限等)确需启用 root 账户时,方可按以下经安全评估的方案操作:


1. 临时获取 root shell(推荐方式)

无需启用 root 账户本身,可直接通过已配置的管理员账户执行:

ubuntu@localhost:~$ sudo -s

[sudo] password for ubuntu: # 输入当前用户密码

root@localhost:/home/ubuntu# # 已切换至 root shell


2. 永久启用 root 账户并设置密码(谨慎使用)

若业务流程强制要求 root 登录(例如部分遗留工具链),可通过以下步骤激活:

ubuntu@localhost:~$ sudo passwd root

[sudo] password for ubuntu: # 输入当前用户密码

New password: # 设置强密码(建议≥12位,含大小写字母、数字及符号)

Retype new password: # 重复确认

passwd: password updated successfully


ubuntu@localhost:~$ su -

Password: # 输入刚设置的 root 密码

root@localhost:~# # 已切换至 root 登录会话


3. 限制 root 切换权限(启用 root 后的必要加固措施)

为防止未授权用户通过 su 命令提权,须实施基于 PAM 的访问控制:

(1)编辑 /etc/pam.d/su 配置文件:

root@localhost:~# vi /etc/pam.d/su

# 取消第15行注释,并指定允许执行 su 的用户组(示例使用 adm 组):

auth required pam_wheel.so group=adm


(2)将获准切换的用户加入该组:

root@localhost:~# usermod -aG adm ubuntu


注:启用 root 账户后,所有以 root 身份执行的操作均绕过 sudo 审计日志。因此,强烈建议同步配置 sudoers 策略(如禁用 root shell 访问:Defaults rootpw 或 requiretty),并确保系统日志服务(rsyslog/journald)持续运行以保留完整操作痕迹。本文档后续示例默认以 root 身份展示;若采用 sudo 方式,请在对应命令前显式添加 sudo 前缀。