由于 Linux 是一个多用户操作系统,迟早你会觉得需要在用户之间切换。 无论是使用超级用户帐户执行管理操作,还是只是更改当前用户以访问特定目录,Linux 都提供了几种解决此类问题的方法。
让我们看看如何在 Linux 上的多个用户之间进行切换。
使用 su 更改当前用户
根据 su 手册页, su 命令用于在登录会话期间成为另一个用户或切换到超级用户。 该命令的基本语法是:
su options username
…在哪里 选项 是您可以与命令一起使用的各种标志,并且 用户名 是目标帐户的名称。
如果命令中没有提到用户名,那么 su 默认会切换到 root 用户。
su
只需在命令中将用户名作为参数传递,即可将当前登录会话切换到指定用户。
su username
如果用户的帐户有密码,您可能会被要求输入密码。
为了 example切换到一个名为 测试用户:
su testuser
发出以下任何命令来验证更改:
whoami
echo $USERNAME
输出将显示您刚刚切换到的用户的名称。 在这种情况下:
testuser
如果您只需要以另一个用户身份运行一个命令,则无需切换到该用户。 相反,您可以使用 -C 旗帜。
su -c command username
为了 example:
su -c chmod +w /Downloads testuser
添加一个 连字符 (–) 到 su 命令将在用户之间切换时创建一个新环境。
su - testuser
使用 -s 使用命令标记以在切换到另一个用户时更改 shell。 请注意,您必须使用 shell 路径调用命令,如下所示:
su testuser -s /bin/zsh
使用 sudo 在用户之间切换
与 su 命令类似,您也可以使用更改当前用户 sudo. 两个命令的语法或多或少相同,除了选项。
要将当前登录会话更改为另一个用户,请使用 -u 旗帜:
sudo -u username
如果您想以其他用户的身份发出特定命令,请在命令中指定它:
sudo -u username command
为了 example:
sudo -u testuser chmod 777 /Documents
您还可以在用户之间切换时更改 shell:
sudo -u username path-to-shell
为了 example将当前 shell 更改为 zsh 并切换到 测试用户 同时地:
sudo -u testuser /bin/zsh
再次验证更改是否成功使用 我是谁 命令或 用户名 环境变量。
使用桌面环境更改用户
如果您不喜欢使用命令行,则可以选择图形方法。 大多数 Linux PC 都安装了桌面环境,该环境提供了与操作系统交互所需的图形界面。 GNOME 和 KDE 是使用最广泛的两种桌面环境,因此本指南将只关注这些环境。
在 GNOME 桌面环境中切换用户:
- 单击位于屏幕右上角的向下箭头图标。
- 点击 关机/注销 并选择 切换用户 下拉菜单中的选项。
- GNOME 将显示可用用户的列表。 单击您要登录的用户名。
对于使用 KDE 的用户,请按照以下步骤更改当前用户:
- 打开应用程序启动器,然后单击 离开 选项位于窗口的右下角。
- 在出现的下拉菜单中,选择 切换用户.
- 您将被带回登录屏幕。 使用左右光标键突出显示要切换到的用户。
- 输入帐户密码并点击 Enter 登录。
请注意,其他桌面环境也提供以其他用户身份登录的类似选项。
在 Linux 上管理多个用户帐户
与其他操作系统一样,您也可以在 Linux 上的多个用户之间切换。 尽管 Windows 和 macOS 等其他操作系统提供了 GUI 来执行此类操作,但在 Linux 上,您可以使用命令行有效地登录其他用户帐户。
很明显,拥有 Linux 命令行的高级知识是对任何 IT 专业人员的武器库的有力补充。 使命令变得实用并保留一个专门的学习资源供您使用是熟悉 Linux 终端的最佳方式。