Linux中切换超级用户(root)主要有两种方式:一是使用su命令,输入“su -”后回车,需输入root账户密码;二是使用sudo命令,通过“sudo -i”切换到root环境,或“sudo [命令]”临时获取权限,需输入当前用户密码,需注意,Ubuntu等发行版默认禁用root账户,推荐使用sudo以提升安全性,切换后应谨慎操作,避免误删关键文件或修改系统配置,确保系统稳定运行。
在Linux系统中,超级用户(通常为root用户)拥有系统的最高权限,可以执行安装软件、修改系统配置、管理用户等所有操作,普通用户在日常使用中,偶尔需要临时获取超级用户权限来完成特定任务,本文将详细介绍Linux中从普通用户切换到超级用户的两种主流方法:su和sudo,以及它们的区别、使用场景和注意事项。
为什么需要切换到超级用户?
Linux系统的权限管理严格,普通用户默认只能操作自己的文件和目录,无法修改系统核心配置(如安装软件、修改网络参数、管理服务等),当需要执行这些操作时,必须切换到超级用户(root)或通过超级用户权限执行命令。
方法1:使用su命令切换到root用户
su是“switch user”(切换用户)的缩写,默认用于切换到root用户,也可用于切换到其他普通用户。

基本语法
su [选项] [用户名]
- 选项:
- 或
-l:以“登录模式”切换,会加载目标用户的环境变量(如家目录、PATH等),推荐使用,更安全且行为与直接登录目标用户一致。
-c:仅执行指定命令后立即切换回原用户,适合临时执行单条root命令。
- 或
- 用户名:省略时默认切换到root用户。
操作步骤
(1)切换到root用户(登录模式)
su -
执行后会提示输入root用户的密码(注意:输入时不会显示任何字符,输入完成后按回车),密码正确后,命令提示符会从(普通用户)变为(root用户),表示切换成功。
(2)执行单条root命令后退出
su -c "apt update" # 以root权限更新软件包列表(Debian/Ubuntu系统)
输入root密码后,会执行apt update命令,执行完成后自动返回普通用户状态。
注意事项
- 安全风险:
su需要直接输入root密码,若root密码泄露,系统安全性将完全暴露。 - 权限控制:一旦切换到root用户,所有操作均无限制,误操作(如误删系统文件)可能导致系统崩溃。
- 适用场景:适合需要长时间以root身份操作的场景(如系统维护),但需谨慎使用。
方法2:使用sudo命令临时获取超级用户权限
sudo(superuser do)允许普通用户以root权限执行命令,无需知道root密码,而是使用当前用户的密码验证,且可精细控制权限(如限制特定用户能执行哪些命令),是目前更推荐的安全方式。
前提条件
普通用户必须被允许使用sudo,即用户位于sudoers文件(/etc/sudoers)的授权列表中,或属于sudo用户组(大多数Linux系统在创建管理员用户时会自动加入该组),可通过以下命令检查:
sudo -l # 查看当前用户被允许执行的sudo命令
若提示user is not in the sudoers file,则表示无权限,需联系系统管理员添加。
基本语法
sudo [选项] [命令]
- 常用选项:
-i:模拟root登录环境,加载root的用户配置(如家目录、PATH等),切换后提示符变为,类似su -,但执行后仍需用exit返回原用户。
-u:指定以其他用户的身份执行命令(如sudo -u mysql mysql,以mysql用户身份执行数据库命令)。
操作步骤
(1)临时执行单条root命令
sudo apt update # 以root权限更新软件包列表
执行后会提示输入当前用户的密码(非root密码),验证通过后即可执行命令,密码默认缓存5分钟(期间再次执行sudo无需输入密码)。
(2)以root身份登录环境(临时切换)
sudo -i
输入当前用户密码后,会进入root的登录环境(提示符为),执行完操作后输入exit返回普通用户。
注意事项
- 权限管理:
sudo的权限由/etc/sudoers文件控制,管理员可通过visudo命令(安全编辑sudoers文件)精细授权(如允许用户仅执行apt命令,禁止执行rm -rf /等危险命令)。 - 审计日志:所有
sudo命令都会被记录到/var/log/auth.log(Debian/Ubuntu)或/var/log/secure(CentOS/RHEL),方便追溯操作。 - 适用场景:适合临时需要root权限的场景(如安装软件、修改配置),是目前Linux系统最主流的权限管理方式。
su与sudo的核心区别
| 对比项 | su |
sudo |
|---|---|---|
| 密码验证 | 需输入root密码 | 需输入当前用户密码 |
| 权限范围 | 完全切换到root,无限制 | 临时执行指定命令,可精细控制 |
| 安全性 | 较低(root密码泄露风险高) | 较高(无需root密码,可审计) |
| 适用场景 | 长时间root操作 | 临时需要root权限 |
| 环境加载 | 需加选项加载root环境 |

