用过Ubuntu系统的朋友都知道,Ubuntu和CentOS系统最大的区别,就是默认禁用Root用户。系统安装后不会设置Root默认密码,无法直接登录Root账号,日常运维、系统配置都需要通过普通用户搭配sudo命令提权操作。
这种设计是为了提升系统安全性,避免Root直接登录带来的恶意入侵、误操作删库等风险。但很多新手搭建服务器、部署环境、调试程序时,会需要临时开启Root完整权限、远程SSH登录Root;使用完毕后又需要重新锁定Root账户,保障服务器安全。
今天我结合实操经验,分享Ubuntu全版本通用的Root账户启用、禁用方法,区分本地终端操作、SSH远程登录配置,同时整理常见报错解决方案,适配Ubuntu20.04、22.04、24.04所有主流版本,新手也能一次操作成功。
一、先搞懂:Ubuntu默认Root账户状态
很多人误以为Ubuntu没有Root用户,其实并不是。系统默认存在Root超级管理员账号,只是账号处于锁定状态,没有配置登录密码,禁止直接登录和使用。
Ubuntu官方推荐日常使用普通用户+sudo提权的方式管理系统,权限可控、安全性更高。只有特殊场景,比如批量运维、底层系统调试、老旧程序部署时,才需要开启Root账号。
我们可以先通过命令查看当前Root账户状态:
sudo passwd -S root
输出结果中如果显示 L,代表Root账户已锁定(默认状态);显示 P,代表账户已启用、可正常登录。
二、Ubuntu启用Root用户账户(本地终端)
启用Root账号的核心就是给Root设置登录密码,解锁账户权限,全程仅需两条简单命令,服务器和桌面端通用。
1、打开终端,输入设置Root密码命令:
sudo passwd root
执行后系统会先验证当前普通用户密码,输入正确密码回车后,即可设置全新的Root登录密码,两次输入密码无需一致确认,输入过程不会显示字符,属于正常现象。
2、密码设置完成,Root账户自动解锁启用,此时可以切换Root用户:
su - root
输入刚刚设置的Root密码,即可成功进入Root超级管理员模式,终端命令提示符从$变为#,代表权限切换成功。
小贴士:如果切换提示shell异常,可以执行 sudo usermod -s /bin/bash root 修复Root登录shell,即可正常切换。
三、开启Root SSH远程登录(服务器必备)
很多用户开启Root密码后,发现本地可以切换Root,但是远程SSH无法登录,这是因为Ubuntu默认禁止Root远程SSH连接,需要手动修改SSH配置文件。
1、编辑SSH服务配置文件:
sudo nano /etc/ssh/sshd_config
2、在文件中找到配置项 PermitRootLogin,默认是注释状态或为prohibit-password,修改为:
PermitRootLogin yes
如果前面有#注释符号,一定要删除注释,保证配置生效。
3、保存并退出文件:nano编辑器按Ctrl+O保存,回车确认,Ctrl+X退出。
4、重启SSH服务,让配置立即生效:
sudo systemctl restart ssh
此时即可通过Xshell、FinalShell等工具,使用ssh root@服务器IP 远程登录Root账号。
四、Ubuntu禁用/锁定Root用户账户(安全推荐)
Root权限过高,长期开启远程登录存在极大安全风险,容易被暴力破解、植入木马、篡改系统文件。日常使用完毕后,建议立刻锁定禁用Root账户。
1、一键锁定Root账户(推荐,保留配置仅禁止登录):
sudo passwd -l root
执行命令后,系统会锁定Root密码,禁止所有终端、SSH登录Root账号,但是不会删除已有的配置文件,后续需要使用可直接解锁,无需重新设置密码。
2、彻底禁用Root SSH远程登录
编辑sshd_config配置文件,恢复默认禁止规则:
sudo nano /etc/ssh/sshd_config
将 PermitRootLogin yes 修改为:
PermitRootLogin no
重启SSH服务生效:
sudo systemctl restart ssh
3、永久删除Root密码(彻底关闭)
如果完全不需要Root账号,可直接删除密码,彻底禁用:
sudo passwd -d root
五、Ubuntu桌面端Root图形登录设置(可选)
部分Ubuntu桌面用户需要在登录界面直接选择Root账号登录,默认系统隐藏了Root登录入口,简单修改配置即可开启。
1、编辑登录管理器配置文件:
sudo nano /etc/gdm3/custom.conf
2、取消注释并添加配置,允许Root登录:
AllowRoot=true
3、重启桌面管理器生效,重启后登录界面即可输入Root账号和密码登录。
安全提醒:桌面端不建议开启Root图形登录,极易误操作损坏系统,临时调试使用后请及时关闭。
六、常见问题与故障解决
1、设置Root密码后依然无法登录
大概率是密码复杂度不足、shell配置异常,重新执行sudo usermod -s /bin/bash root 修复shell,重新设置密码即可解决。
2、SSH修改配置后不生效
检查配置项是否取消注释、是否拼写错误,务必重启ssh服务,部分系统需要重启sshd服务,可尝试双命令重启。
3、锁定Root后sudo无法使用
不用担心,锁定Root账户不影响普通用户sudo提权,这是两种独立的权限机制,日常运维完全不受影响。
七、安全使用建议总结
1、Root账号临时开启、用完即锁,不要长期开启Root远程登录,杜绝暴力破解风险;
2、日常运维优先使用普通用户+sudo命令,最小权限原则保障系统安全;
3、服务器上线前务必关闭Root SSH登录,改用普通用户密钥登录,安全性大幅提升;
4、所有Ubuntu版本操作逻辑一致,无需区分系统版本,命令通用、稳定无兼容问题。