如何在 Linux 上切换用户

由于 Linux 是一个多用户操作系统,您迟早会觉得需要在用户之间切换。 无论是使用超级用户帐户执行管理操作,还是简单地更改当前用户以访问特定目录,Linux 都提供了多种方法来解决此类问题。

让我们来看看如何在 Linux 上在多个用户之间进行切换。

使用 su 更改当前用户

根据 su 手册页, su 命令用于在登录会话期间成为另一个用户或切换到超级用户。 命令的基本语法是:

su options username

…在哪里 选项 是您可以与命令一起使用的各种标志和 用户名 是目标帐户的名称。

如果命令中没有提到用户名,那么su默认会切换到root用户。

su

只需在命令中将用户名作为参数传递即可将当前登录会话切换到指定用户。

su username

如果用户的帐户有密码,您可能会被要求输入密码。

例如,切换到一个名为的用户 测试用户

su testuser

发出以下任一命令以验证更改:

whoami
echo $USERNAME

输出将显示您刚刚切换到的用户的名称。 在这种情况下:

testuser

如果您只需要以其他用户身份运行一个命令,则无需切换到该用户。 相反,您可以使用其他用户简单地执行命令 -C 旗帜。

su -c command username

例如:

su -c chmod +w /Downloads testuser

添加一个 连字符 (——) 到 su 命令将在用户之间切换时创建一个新环境。

su - testuser

使用 -s 在切换到另一个用户时使用更改 shell 的命令标记。 请注意,您必须使用 shell 路径调用命令,如下所示:

su testuser -s /bin/zsh

相关:Sudo 与 su:您应该使用哪个命令?

使用 sudo 在用户之间切换

与 su 命令类似,您也可以使用更改当前用户 sudo. 除了选项之外,这两个命令的语法或多或少相同。

要将当前登录会话更改为另一个用户,请使用 -u 旗帜:

sudo -u username

如果要以其他用户身份发出特定命令,请在命令中指定:

sudo -u username command

例如:

sudo -u testuser chmod 777 /Documents

您还可以在用户之间切换时更改外壳:

sudo -u username path-to-shell

例如,将当前shell更改为zsh并切换到 测试用户 同时:

sudo -u testuser /bin/zsh

再次验证更改是否成功使用 我是谁 命令或 用户名 环境变量。

使用桌面环境更改用户

如果使用命令行不是你的菜,你可以选择图形方法。 大多数 Linux PC 都安装了桌面环境,可提供与操作系统交互所需的图形界面。 GNOME 和 KDE 是使用最广泛的两种桌面环境,因此本指南将只关注这些。

要在 GNOME 桌面环境中的用户之间切换:

  1. 单击位于屏幕右上角的向下箭头图标。

  2. 点击 关机/注销 并选择 切换用户 下拉菜单中的选项。

  3. GNOME 将显示可用用户列表。 单击您要登录的用户名。

对于使用 KDE 的用户,请按照以下步骤更改当前用户:

  1. 打开应用程序启动器,然后单击 离开 选项位于窗口的右下角。

  2. 在出现的下拉菜单中,选择 切换用户.

  3. 您将被带回登录屏幕。 使用左右光标键突出显示要切换到的用户。

  4. 输入账户密码并点击 Enter 登录。

请注意,其他桌面环境也提供类似的选项来以其他用户身份登录。

在 Linux 上管理多个用户帐户

与其他操作系统一样,您也可以在 Linux 上在多个用户之间切换。 尽管 Windows 和 macOS 等其他操作系统提供了一个 GUI 来执行此类操作,但在 Linux 上,您可以使用命令行有效地登录其他用户帐户。

显而易见,拥有 Linux 命令行的高级知识是对任何 IT 专业人士的强大补充。 实际使用命令并保留专门的学习资源供您使用是熟悉 Linux 终端的最佳方式。