Linux中的Su命令(切换用户)

su (替代或切换用户的缩写)实用程序允许您使用其他用户(默认情况下为root用户)的特权运行命令。

使用 su 是在当前登录会话中切换到管理帐户的最简单方法。 当不允许root用户通过ssh或使用GUI显示管理器登录系统时,这特别方便。

在本教程中,我们将说明如何使用 su 命令。

如何使用 su 命令#

的一般语法 su 命令如下:

su [OPTIONS] [USER [ARGUMENT...]]

不带任何选项调用时,默认行为 su 以root用户身份运行交互式shell:

su

系统将提示您输入root密码,如果通过身份验证,则运行该命令的用户将临时成为root用户。

会话外壳程序(SHELL)和家庭(HOME)环境变量是根据替代用户的 /etc/passwd 条目,并且当前目录未更改。

要确认用户已更改,请使用 whoami 命令:

whoami

该命令将打印运行当前shell会话的用户的名称:

root

调用时最常用的选项 su--l--login。 这使该shell成为登录shell,其环境与真实登录非常相似,并更改了当前目录:

su -

如果要运行另一个外壳程序而不是运行中定义的外壳程序 passwd 文件,使用 -s--shell 选项。 例如,切换到root并运行 zsh 您将键入的shell:

su -s /usr/bin/zsh

为了保护整个环境(HOMESHELLUSERLOGNAME)的主叫用户使用 -p--preserve-environment 选项。

su -p

当。。。的时候 - 使用选项 -p 被忽略。

如果要以替代用户身份运行命令而不启动交互式shell,请使用 -c--command 选项。 例如,调用 ps 以root用户身份输入以下命令:

su -c ps

要切换到另一个用户帐户,请将用户名作为参数传递给 su。 例如,切换到用户 tyrion 您将输入:

su tyrion

苏多vs苏#

在某些Linux发行版(如Ubuntu)上,出于安全原因,默认情况下禁用了root用户帐户。 这意味着没有为root设置密码,并且您不能使用 su 切换到root。

更改为root的一种方法是在 su 用命令 sudo 并输入当前登录的用户密码:

sudo su -

sudo 命令允许您以其他用户(默认情况下为root用户)运行程序。

如果用户被授予 sudo 评估 su 该命令将以root身份被调用。 跑步 sudo su - 并且使用用户密码与运行相同 su - 使用root密码。

当与 -i 选项, sudo 使用root用户的环境运行交互式登录shell:

sudo -i

sudo -i 与跑步基本相同 su -

使用的优势 sudo 过度 su 是不需要在多个管理用户帐户之间共享根密码。

还有 sudo 您可以允许用户仅以root特权运行特定程序。

结论#

su 是一个命令行实用程序,可让您临时成为另一个用户并与替代用户一起执行命令。

如果您有任何疑问或反馈,请随时发表评论。

苏苏多码头

Sidebar