su命令切换到管理员用户,输入
su -并按下回车,然后输入管理员用户的密码即可切换到该用户。
使用su命令切换到root用户
su(Substitute User)命令是Linux中用于切换用户的工具,默认情况下,su命令会尝试切换到root用户。
基本用法:
su
执行此命令后,系统会提示输入root用户的密码,如果密码正确,用户将成功切换到root用户。
切换到指定用户:
如果需要切换到其他用户(非root),可以在su命令后加上用户名:
su username
选项表示加载目标用户的环境变量(如路径、主目录等)。
注意事项:
- 如果当前用户有权限切换到root用户,可以直接使用
su命令。 - 如果当前用户没有权限,系统会提示输入密码或拒绝访问。
使用sudo命令临时获取root权限
sudo(Superuser Do)命令允许普通用户以管理员权限执行特定命令,而无需切换到root用户。
基本用法:
sudo command
更新系统包:
sudo apt update
执行此命令后,系统会提示输入当前用户的密码(前提是当前用户在sudoers文件中被授权)。

切换到root用户:
如果需要切换到root用户,可以使用以下命令:
sudo su
或者直接使用sudo -i进入root用户的交互式shell:
sudo -i
注意事项:
sudo命令的权限由/etc/sudoers文件控制,只有被授权的用户才能使用。- 使用
sudo时,系统会记录所有操作,便于审计。
使用sudo -s或sudo -i进入root shell
如果需要进入root用户的交互式shell,可以使用以下命令:
sudo -s
或者:
sudo -i
两者的区别在于:

sudo -s:使用当前用户的环境变量启动shell。sudo -i:加载root用户的环境变量(如路径、主目录等)。
使用visudo命令编辑/etc/sudoers文件
如果需要为某个用户授予sudo权限,可以编辑/etc/sudoers文件,建议使用visudo命令来编辑,以避免语法错误。
示例:
sudo visudo
在文件中添加以下行,为指定用户授予sudo权限:
username ALL=(ALL) ALL
保存并退出后,该用户即可使用sudo命令。
使用su和sudo的区别
| 命令 | 功能描述 | 是否需要密码 | 是否记录日志 |
|---|---|---|---|
su |
切换到指定用户 | 是 | 不记录 |
sudo |
以指定用户权限执行命令 | 是 | 记录 |
sudo su |
以当前用户权限切换到root用户 | 是 | 记录 |
sudo -i |
以指定用户权限进入交互式shell | 是 | 记录 |
常见问题及解决方法
问题1:sudo命令提示“无法获取管理员权限”
原因:当前用户未被授权使用sudo,或者未在sudoers文件中配置。
解决方法:

- 使用root用户登录,编辑
/etc/sudoers文件:su visudo
- 添加以下行,为指定用户授予
sudo权限:username ALL=(ALL) ALL - 保存并退出。
问题2:su命令提示“认证失败”
原因:输入的root用户密码错误,或者当前用户无权限切换到root用户。
解决方法:
- 确认输入的密码是否正确。
- 检查当前用户是否在
/etc/sudoers文件中被授权使用su命令。
FAQs
问题1:如何在Linux中查看当前用户的身份?
解答:可以使用whoami命令查看当前用户的身份:
whoami
输出结果为当前用户名,如果想查看更详细的信息,可以使用id命令:
id
问题2:如何限制普通用户使用su或sudo命令?
解答:可以通过编辑/etc/sudoers文件来限制普通用户使用su或sudo命令,注释掉或删除普通用户的相关配置行,或者设置更严格的权限规则,建议使用visudo命令编辑文件,以避免语法错误。
