上一篇
linux用户如何切换用户名
- Linux
- 2025-07-23
- 10
在Linux系统中,用户可通过 su命令切换用户名,具体操作为:打开终端后输入 su 目标用户名,按提示输入密码即可,若需切换至root用户,可直接执行 su -,该命令将完整加载目标用户的环境配置(如路径、工作目录等),完成操作后,可使用 su -返回原用户或退出当前会
在Linux系统中,用户可以通过多种方式切换用户名,以满足不同场景下的操作需求,以下是详细的操作指南及注意事项:
使用 su 命令切换用户
su(Substitute User)是Linux中最常用的用户切换命令,允许当前用户切换到目标用户的身份。
-
基本语法
su [选项] 用户名- 示例:从当前用户切换到用户 user2: su user2
- 选项说明:
- :切换到目标用户的环境(加载其配置文件,如 .bashrc)。
- -c "command":仅执行指定命令,完成后返回原用户。
-
切换到 root 用户
- 直接输入 su - 或 su root,需输入 root 用户的密码: su -
- 注意:若未指定用户名,默认切换到 root 用户。
-
退出切换

- 输入 exit 或按 Ctrl+D 可退出当前用户会话,返回原用户。
通过 sudo 切换用户
sudo 命令不仅用于临时获取 root 权限,还可用于切换到其他用户(需提前配置权限)。
-
切换到指定用户
sudo su 用户名
- 示例:切换到用户 user3: sudo su user3
- 优势:无需输入目标用户密码,但需输入当前用户的密码。
-
指定命令以目标用户身份执行

- 示例:以用户 user2 的身份运行 ls 命令: sudo -u user2 ls /home
切换到 root 用户的特殊场景
-
单用户模式
在系统启动时,通过编辑引导菜单进入单用户模式(如GRUB),可直接获得 root 权限,用于修复系统问题。
-
远程 SSH 登录后切换
- 通过 SSH 登录服务器后,使用 su - 切换到 root 用户: su -
- 注意:需确保当前用户有权限切换到 root。
图形界面下的用户切换
在桌面版Linux(如KDE、GNOME)中,可通过图形界面快速切换用户:
操作系统 操作步骤 KDE Plasma 点击右下角用户图标 → 选择“切换用户” → 选择目标用户 Gnome 按下 Alt+Ctrl+F1 切换到TTY终端 → 使用 su 命令切换 Linux Lite 右键点击任务栏用户图标 → 选择“Switch User” → 输入目标用户密码 注意事项
-
权限问题

- 普通用户切换到其他用户需输入目标用户的密码。
- 使用 sudo 切换需当前用户有 sudo 权限。
-
环境变量差异
- 使用 su - 会加载目标用户的环境变量(如 .bashrc),而 su 仅切换 shell 不加载环境。
-
文件权限限制
- 切换用户后,仅能访问目标用户有权限的文件,普通用户无法查看 /root 目录的内容。
-
历史记录与审计
- 切换用户的操作会被记录在 /var/log/auth.log 或 /var/log/secure 中,便于系统审计。
-
问题:su 和 sudo su 有什么区别?
解答:
- su 需要输入目标用户的密码,而 sudo su 只需输入当前用户的密码(前提:当前用户有 sudo 权限)。
- sudo su 实际是通过 sudo 提升权限后再调用 su,适用于忘记目标用户密码但当前用户有 sudo 权限的场景。
-
问题:切换用户后环境变量丢失怎么办?
解答:
- 使用 su - 而非 su,前者会加载目标用户的 .bashrc 或 .profile 文件,确保环境变量正确初始化。
- 若仍存在问题,可手动加载环境文件, source /home/目标用户/.bashrc
命令对比表
命令 作用 是否需要密码 是否加载环境 适用场景 su 用户名 切换到指定用户 是(目标用户密码) 是 常规用户切换 sudo su 用户名 以当前用户权限切换 是(当前用户密码) 是 当前用户有sudo权限时 sudo -i -u 用户名 以目标用户身份打开交互shell 是(当前用户密码) 是 需要完整环境变量时 switchuser -c 临时切换并执行命令 是(当前用户密码) 否 快速执行单一命令 FAQs