如何在 Ubuntu 中切换用户
Linux是一个多用户操作系统;这意味着它允许多个用户登录并执行操作,而不会影响系统中的其他用户。
本教程将介绍从终端和图形环境切换用户的各种方法。
方法#1 – 图形环境
如果您使用 Gnome 等图形桌面环境运行 Ubuntu Desktop,则可以轻松切换用户。
在 Ubuntu 上,导航至顶部栏并单击电源图标。从下拉菜单中选择注销或切换用户 - 根据您运行的版本,这可能不可用。
选择注销后,系统将导航至登录窗口,以指定您要使用的用户名和密码。这样做将终止您的会话并终止所有正在运行的会话
如果您选择切换用户,您将指定用户的用户名和密码,同时保留您的会话和所有正在运行的进程。
提示:如果切换用户选项不可用,请按 CTRL + ALT + F2 键。这将带您进入 shell 提示符,您可以在其中指定用户名和密码。按 CTRL + ALT + F2 恢复。
方法 #2 – su 命令
对于那些喜欢使用终端的人来说,su 命令允许您切换到不同的用户,同时仍然保留当前会话。如果 root 用户无法通过 GUI 会话或 SSH 登录系统,则 su 命令会非常方便。
注意:大多数 Linux 发行版默认禁用 root 用户。虽然你可以启用它,但我不推荐它:它可能会破坏系统(CentOS 是罪魁祸首)。
su 命令的基本用法
su 命令易于使用,语法简单。
默认情况下,在不指定用户名的情况下调用 su 命令会以 root 身份运行 shell,这需要 root 用户的密码(必须启用)。
使用不带选项的 su 命令不会将当前工作目录更改为 /root。
su 命令最常见的用例是使用 – 或 -l 选项。 -l 允许 su 更改主目录并生成类似于真实登录的 shell 会话(在 /etc/passwd 中设置)。
如何使用su命令切换到不同用户
要以其他用户身份登录,请使用 -l 选项,后跟用户的用户名。例如:
该命令将提示您输入密码并登录指定的用户。
如何使用 su 命令使用不同的 shell 登录
默认情况下,su 使用 /etc/passwd 文件中指定的环境变量。此类选项包括默认 shell。但是,您可以使用 -s 选项更改登录 shell。
例如:
该命令将使用 bash shell 启动 ubuntu 用户。
如何在保护环境的同时使用 su 命令
要使用 su 命令以用户身份运行,同时保留环境变量(主目录、用户、日志名),请使用 -p 或 –preserve-environment。
例如,假设我们是 ubuntu 用户,希望以 linux 用户身份登录,同时仍保留环境变量。
在这种情况下,我们可以使用命令:
从上面的示例中可以看到,我们仍然在 /home/ubuntu 目录中并使用 zsh shell(默认为 ubuntu 用户)。
如何使用 su 命令以不同用户身份运行命令
要以不同用户身份运行命令而不生成交互式 shell 会话,我们可以使用 -c 选项:
方法#3 – SSH
另一种切换到不同用户的方法是老式的 SSH。要以本地用户身份登录,请使用以下命令:
结论
su 用户是切换用户或以另一个用户身份运行命令的出色工具。与调用 root 用户的 sudo 命令相比,su 允许您设置特定用户。