在 Linux 系统中,可以通过以下几种命令将普通用户临时切换为超级用户(root)权限:
su
命令作用:切换到超级用户或其他用户。
用法:
su - # 切换到 root 用户(需要输入 root 密码)
su - root # 同上,明确指定切换到 root
su -l <用户名> # 切换到其他用户(如 `su -l alice`)
特点:
- 需要知道目标用户(如 root)的密码。
- -
或 -l
参数会加载目标用户的环境变量(推荐)。
- 输入 exit
或 Ctrl+D
可退回原用户。
sudo
命令作用:以超级用户权限执行单条命令(无需知道 root 密码)。
用法:
sudo <命令> # 以 root 权限执行命令(如 `sudo apt update`)
sudo -i # 启动一个 root 的交互式 shell(类似 `su -`)
sudo su # 切换到 root(部分系统可能禁用此用法)
特点:
- 需要当前用户具有 sudo
权限(在 /etc/sudoers
中配置)。
- 执行时会要求输入当前用户的密码(非 root 密码)。
- 更安全,因为权限可精细控制(推荐优先使用)。
sudo bash
或 sudo -s
作用:直接启动一个具有 root 权限的 shell。
sudo bash # 启动 root 的 bash shell
sudo -s # 启动 root 的 shell(保留当前环境变量)
sudo
执行单条命令,而非长期切换为 root。sudoers
:若用户无法使用 sudo
,需由 root 用户通过 visudo
命令将其加入 /etc/sudoers
文件。sudo <命令>
(需配置权限)或 sudo -i
。su -
(需 root 密码)。