zhcn 技术 手机 如何在 Linux 终端中切换用户(2024 年指南)

如何在 Linux 终端中切换用户(2024 年指南)

为了保护 Linux 内核免受未经授权的访问,操作系统提供了一个选项来创建具有不同权限的不同用户。 Linux 允许您使用命令轻松切换用户。在本文中,我们将探讨直接从 Linux 终端切换用户的几种不同方法,无论您需要执行管理任务还是只是以超级用户身份运行命令。

如何在 Linux 终端中切换用户(2024 年指南)
如何在 Linux 终端中切换用户(2024 年指南)

Linux 用户的三种类型

在开始切换用户之前,我们先来了解一下Linux中不同类型的用户。 Linux 用户分为三种不同类型。

  • 系统用户或非登录用户:这些类型的用户没有登录或 shell 访问权限。它们通常用于运行特定的服务或应用程序。有关非登录用户的更多信息,请参阅如何在 Linux 上创建非登录用户。
  • 普通用户:这些类型的用户帐户根据文件权限对文件系统的访问受到限制。但是,您可以使用 su 或 sudo 命令获取管理员权限。
  • 根用户(超级用户/管理员):这些类型的用户帐户可以完全不受限制地访问整个文件系统,并具有最高级别的安全许可。
如何在 Linux 终端中切换用户(2024 年指南)
如何在 Linux 终端中切换用户(2024 年指南)

如何在Linux上使用su命令切换用户

su 命令是 switch user 的缩写,是从一个用户帐户切换到另一个用户帐户的强大工具。在 Linux 终端中使用 su 命令切换用户的语法为:

 su <options> <username>

在上述语法中,将 <username> 替换为您要切换到的用户帐户的名称。与 su 命令结合使用的常见选项包括:

选项解释
-c将命令传递到切换用户的新 shell。
-s指定另一个 shell 而不是默认的 /bin/sh。
-P使用时,会为不与原会话共享的会话创建一个新的伪终端,以提高安全性。
-l在类似于真实登录的环境中启动 shell 作为登录 shell。
-g用于指定主要组。
如何在 Linux 终端中切换用户(2024 年指南)
如何在 Linux 终端中切换用户(2024 年指南)

1.切换到普通用户

要在 Linux 上使用 su 命令切换到普通用户,请使用以下语法:

 su <options> <username>

例如,要切换到“test”用户,请使用以下命令:

 su -l test1

现在输入您要切换到的用户的密码,然后按 Enter。您可能会注意到 shell 提示符中缺少您的用户名,或者您甚至无法使用箭头键进行导航或使用 Tab 键使用语法自动完成功能。这意味着外壳不稳定。要生成稳定的 shell,请使用以下命令:

 /bin/bash/ -i

新用户名出现在 shell 提示符处。您还可以使用箭头键导航并使用 Tab 键自动完成。

2.切换到root用户。

在某些情况下,您可能需要使用 root 用户帐户来执行某些管理任务。要在 Linux 上切换到 root 或超级用户,请使用 su 命令:

 su -

系统将要求您输入 root 用户密码。输入您的 root 密码并按 Enter 键。 root 用户名现在将显示在 shell 提示符处。现在可以以 root 用户身份运行所有命令。

如何在 Linux 终端中切换用户(2024 年指南)
如何在 Linux 终端中切换用户(2024 年指南)

如何使用 sudo 命令在 Linux 上切换用户

sudo 命令代表“超级用户执行”。此命令通常用于以 root 或超级用户身份运行各种命令。不过,通过一个小技巧,您可以使用 sudo 命令在 Linux 上切换用户。在此之前,我们先看一下sudo命令的语法。

 sudo <options> <parameters> <command>

在上面的语法中,<command> 指定应以不同用户身份运行的命令以及与该命令组合的 <parameters>。可以与 sudo 命令结合使用的常见选项包括:

选项解释
-b在后台运行指定的命令
-u使用作为参数传递的特定用户名运行指定的命令
-n使用时,它返回一个非交互式 shell,并防止提示用户进行任何类型的输入。
-T设置命令超时。如果在命令终止之前超时已过,则命令终止。
-我运行目标用户的密码数据库条目中指定的 shell 作为登录 shell。

1. 更改为普通用户

要在 Linux 上使用 sudo 命令切换到常规 Linux 用户,请使用以下语法:

 sudo -u <username_to_switch_to> /bin/bash

在上面的语法中,

  • -u 标志用于指定要切换到的用户名。
  • /bin/bash 指定为该用户生成bash shell

例如,如果要切换到用户 test1,请使用以下 sudo 命令:

 sudo -u test1 /bin/bash

运行上述命令后,系统将提示您输入 root 用户密码。输入您的 root 密码并按 Enter 键。提示符显示切换后的用户名。

2.切换到root用户。

使用 sudo 命令切换到 root 用户:

 sudo -u root /bin/bash

然后输入您的 root 密码并按 Enter 键。 shell 提示符更改为您的 root 用户名。

如何在 Linux 上查看用户?

所有用户信息都存储在/etc/passwd 文件中。使用cat命令查看文件内容: cat /etc/passwd

我可以在不知道密码的情况下切换到其他用户吗?

不可以,您必须知道要切换到的用户的密码。如果您以root用户登录,则无需知道密码即可切换。

如何在 Linux 终端中切换用户(2024 年指南)
如何在 Linux 终端中切换用户(2024 年指南)

为了保护 Linux 内核免受未经授权的访问,操作系统提供了一个选项来创建具有不同权限的不同用户。 Linux 允许您使用命令轻松切换用户。在本文中,我们将探讨直接从 Linux 终端切换用户的几种不同方法,无论您需要执行管理任务还是只是以超级用户身份运行命令。

如何在 Linux 终端中切换用户(2024 年指南)
如何在 Linux 终端中切换用户(2024 年指南)

Linux 用户的三种类型

在开始切换用户之前,我们先来了解一下Linux中不同类型的用户。 Linux 用户分为三种不同类型。

  • 系统用户或非登录用户:这些类型的用户没有登录或 shell 访问权限。它们通常用于运行特定的服务或应用程序。有关非登录用户的更多信息,请参阅如何在 Linux 上创建非登录用户。
  • 普通用户:这些类型的用户帐户根据文件权限对文件系统的访问受到限制。但是,您可以使用 su 或 sudo 命令获取管理员权限。
  • 根用户(超级用户/管理员):这些类型的用户帐户可以完全不受限制地访问整个文件系统,并具有最高级别的安全许可。
如何在 Linux 终端中切换用户(2024 年指南)
如何在 Linux 终端中切换用户(2024 年指南)

如何在Linux上使用su命令切换用户

su 命令是 switch user 的缩写,是从一个用户帐户切换到另一个用户帐户的强大工具。在 Linux 终端中使用 su 命令切换用户的语法为:

 su <options> <username>

在上述语法中,将 <username> 替换为您要切换到的用户帐户的名称。与 su 命令结合使用的常见选项包括:

选项解释
-c将命令传递到切换用户的新 shell。
-s指定另一个 shell 而不是默认的 /bin/sh。
-P使用时,会为不与原会话共享的会话创建一个新的伪终端,以提高安全性。
-l在类似于真实登录的环境中启动 shell 作为登录 shell。
-g用于指定主要组。
如何在 Linux 终端中切换用户(2024 年指南)
如何在 Linux 终端中切换用户(2024 年指南)

1.切换到普通用户

要在 Linux 上使用 su 命令切换到普通用户,请使用以下语法:

 su <options> <username>

例如,要切换到“test”用户,请使用以下命令:

 su -l test1

现在输入您要切换到的用户的密码,然后按 Enter。您可能会注意到 shell 提示符中缺少您的用户名,或者您甚至无法使用箭头键进行导航或使用 Tab 键使用语法自动完成功能。这意味着外壳不稳定。要生成稳定的 shell,请使用以下命令:

 /bin/bash/ -i

新用户名出现在 shell 提示符处。您还可以使用箭头键导航并使用 Tab 键自动完成。

2.切换到root用户。

在某些情况下,您可能需要使用 root 用户帐户来执行某些管理任务。要在 Linux 上切换到 root 或超级用户,请使用 su 命令:

 su -

系统将要求您输入 root 用户密码。输入您的 root 密码并按 Enter 键。 root 用户名现在将显示在 shell 提示符处。现在可以以 root 用户身份运行所有命令。

如何在 Linux 终端中切换用户(2024 年指南)
如何在 Linux 终端中切换用户(2024 年指南)

如何使用 sudo 命令在 Linux 上切换用户

sudo 命令代表“超级用户执行”。此命令通常用于以 root 或超级用户身份运行各种命令。不过,通过一个小技巧,您可以使用 sudo 命令在 Linux 上切换用户。在此之前,我们先看一下sudo命令的语法。

 sudo <options> <parameters> <command>

在上面的语法中,<command> 指定应以不同用户身份运行的命令以及与该命令组合的 <parameters>。可以与 sudo 命令结合使用的常见选项包括:

选项解释
-b在后台运行指定的命令
-u使用作为参数传递的特定用户名运行指定的命令
-n使用时,它返回一个非交互式 shell,并防止提示用户进行任何类型的输入。
-T设置命令超时。如果在命令终止之前超时已过,则命令终止。
-我运行目标用户的密码数据库条目中指定的 shell 作为登录 shell。

1. 更改为普通用户

要在 Linux 上使用 sudo 命令切换到常规 Linux 用户,请使用以下语法:

 sudo -u <username_to_switch_to> /bin/bash

在上面的语法中,

  • -u 标志用于指定要切换到的用户名。
  • /bin/bash 指定为该用户生成bash shell

例如,如果要切换到用户 test1,请使用以下 sudo 命令:

 sudo -u test1 /bin/bash

运行上述命令后,系统将提示您输入 root 用户密码。输入您的 root 密码并按 Enter 键。提示符显示切换后的用户名。

2.切换到root用户。

使用 sudo 命令切换到 root 用户:

 sudo -u root /bin/bash

然后输入您的 root 密码并按 Enter 键。 shell 提示符更改为您的 root 用户名。

如何在 Linux 上查看用户?

所有用户信息都存储在/etc/passwd 文件中。使用cat命令查看文件内容: cat /etc/passwd

我可以在不知道密码的情况下切换到其他用户吗?

不可以,您必须知道要切换到的用户的密码。如果您以root用户登录,则无需知道密码即可切换。

如何在 Linux 终端中切换用户(2024 年指南)
如何在 Linux 终端中切换用户(2024 年指南)