Skip to main content

如何使用“su”命令切换用户

Linux多命令协作:管道及重定向 [LinuxCast视频教程] (可能 2025)

Linux多命令协作:管道及重定向 [LinuxCast视频教程] (可能 2025)
Anonim

现在可以使用Linux而无需与命令行进行太多交互,但仍有许多情况下使用命令行执行操作比使用图形工具要容易得多。

您可以从命令行定期使用的命令示例是apt-get,它用于在基于Debian和Ubuntu的发行版中安装软件。

要使用apt-get安装软件,您需要是具有足够权限的用户。

流行桌面Linux操作系统(如Ubuntu和Mint)的首批命令用户之一是sudo。

sudo命令允许您以另一个用户身份运行任何命令,并且通常用于提升权限,以便命令以管理员身份运行(在Linux术语中称为root用户)。

这一切都很好但是如果你要运行一系列命令或者你需要长时间作为另一个用户运行那么你要找的是命令。

本指南将向您展示如何使用 命令并将提供有关可用交换机的信息。

切换到Root用户

要切换到root用户,您需要同时按ALT和T打开终端。

切换到root用户的方式不同可能会有所不同。例如,在基于Ubuntu的发行版(如Linux Mint,Ubuntu,Kubuntu,Xubuntu和Lubuntu)上,您需要使用sudo命令进行切换,如下所示:

sudo su

如果您使用的分发版允许您在安装分发版时设置root密码,则只需使用以下命令:

如果你用sudo运行命令,那么你将被要求提供 须藤 密码,但如果你运行命令就像 那么你需要输入root密码。

要确认您确实已切换到root用户,请键入以下命令:

我是谁

whoami命令告诉您当前正在运行的用户。

如何切换到另一个用户并采用他们的环境

su命令可用于切换到任何其他用户的帐户。

例如,假设您使用useradd命令创建了一个名为ted的新用户,如下所示:

sudo useradd -m ted

这将创建一个名为ted的用户,它将为ted创建一个名为ted的主目录。

您需要先设置ted帐户的密码,然后才能使用以下命令:

passwd特德

上面的命令会要求您创建并确认ted帐户的密码。

您可以使用以下命令切换到ted帐户:

su ted

如上所述,上面的命令将以ted身份登录,但您不会被放置在主文件夹中进行测试,并且不会加载任何已添加到.bashrc文件的设置。

但是,您可以使用以下命令以ted身份登录并采用环境:

su - ted

这次当您以ted身份登录时,您将被放入ted的主目录中。

查看完整操作的好方法是将screenfetch实用程序添加到ted用户帐户。

切换用户帐户后执行命令

如果要切换到另一个用户的帐户,但在切换时使用-c开关运行命令,如下所示:

su -c screenfetch - ted

在上面的命令中 切换用户, -c screenfetch 运行screenfetch实用程序和 - 特德 切换到特德帐户。

Adhoc开关

我已经展示了如何切换到另一个帐户并使用。提供类似的环境 - 开关。

为完整起见,您还可以使用以下内容:

su -lsu --login

通过提供-s开关切换用户时,可以从默认运行不同的shell,如下所示:

su -s - su - 贝壳 -

您可以使用以下开关保留当前环境设置:

su -msu -psu - 保护环境

摘要

大多数临时用户只需使用sudo命令来运行具有提升权限的命令,但如果您想花费较长时间以另一个用户身份登录,则可以使用 命令。

值得注意的是,尽管只运行具有您手头工作所需权限的帐户是一个好主意。换句话说,不要以root身份运行每个命令。