如何在 Ubuntu 中切换用户(适合初学者的分步指南)
如何在 Ubuntu 中切换用户(适合初学者的分步指南)
在 Ubuntu 中切换用户是一项非常常见的任务,尤其是在管理 VPS、为多个开发人员维护服务器或仅仅是在不同账户下测试权限时。
无论您是在桌面上使用 Ubuntu 还是在云服务器上无头运行它,都有几种可靠的方法可以安全地切换用户。本指南将带您了解 所有实用方法,解释何时使用每种方法,并强调常见错误以避免。
为什么您可能需要在 Ubuntu 中切换用户
在深入命令之前,了解 为什么 切换用户很重要:
- 以 root 或其他特权用户身份运行管理任务
- 在不同账户下测试文件权限或应用程序行为
- 管理多用户服务器(共享 VPS、暂存环境)
- 通过避免不必要的 root 访问来提高安全性
Ubuntu 的设计理念是 最小权限,因此正确切换用户是一项基本技能。
方法 1:使用 su 切换用户
su 命令(代表 substitute user)允许您切换到另一个用户账户。
基本语法
su username示例:
su john系统会提示您输入 john 的密码,经过身份验证后,您的 shell 将切换到该用户。
切换到 root 用户
su -或
su root注意:在 Ubuntu 中,root 账户默认是禁用的。如果未启用 root 登录,此命令将失败。
关于 su 的关键事项
需要目标用户的密码
除非使用 su -,否则不会加载完整的登录环境
在 Ubuntu 中使用频率低于 sudo
方法 2:使用 sudo su 切换用户(在 Ubuntu 中最常用)
Ubuntu 鼓励使用 sudo 而不是直接访问 root。
使用 sudo 切换到 root
sudo su或加载完整的 root 环境:
sudo su -这使用的是您自己的密码,而不是 root 的密码。
使用 sudo 切换到另一个用户
sudo su - username示例:
sudo su - deploy这在您不知道(或不想使用)其他用户密码的 VPS 服务器上非常有用。
方法 3:使用 sudo -i(推荐用于 root 访问)
如果您的目标是成为 root,这是最干净和安全的方法:
sudo -i此命令:
切换到 root
加载 root 的环境
保留 Ubuntu 的安全模型
对于大多数管理员来说,sudo -i 比 su 更受欢迎。
方法 4:临时切换用户以执行单个命令
如果您不需要完整的 shell,可以以其他用户身份运行命令。
以其他用户身份运行命令
sudo -u username command示例:
sudo -u www-data ls /var/www这非常适合:
测试权限
以服务用户身份运行脚本
避免不必要的 shell 切换
方法 5:在 Ubuntu 桌面(GUI)中切换用户
如果您使用的是带有图形界面的 Ubuntu:
点击系统菜单(右上角)
选择注销
从登录屏幕选择其他用户
某些桌面环境还支持快速用户切换,允许多个用户同时保持登录状态。
常见错误
使用 su 而不加 -,这可能导致缺少环境变量
以 root 身份运行日常任务,增加安全风险
忘记退出 root,尤其是在生产服务器上
在以 root 身份登录时无意中更改文件所有权
始终仔细检查您当前使用的是哪个用户:
whoami常见问题解答:
- su 和 sudo su 有什么区别?
su 需要目标用户的密码,而 sudo su 使用您的密码并遵循 Ubuntu 的权限系统。在 Ubuntu 服务器上,sudo su 更为常见。
- 为什么 su root 在 Ubuntu 上不起作用?
出于安全原因,Ubuntu 默认禁用直接 root 登录。您应该使用 sudo su 或 sudo -i。
- 哪个更好:sudo su 还是 sudo -i?
对于 root 访问,通常推荐使用 sudo -i,因为它干净地加载 root 的环境并遵循 Ubuntu 的最佳实践。
- 我如何知道我当前登录的是哪个用户?
运行:
whoami或
id- 我可以在没有密码的情况下切换用户吗?
只有在您的账户具有 sudo 权限的情况下可以。否则,切换用户始终需要身份验证。