The su
(替代或切换用户的缩写)实用程序允许您使用其他用户(默认为 root 用户)的权限运行命令。
Using su
是在当前登录会话中切换到管理帐户的最简单方法。当不允许 root 用户通过以下方式登录系统时,这尤其方便ssh或使用 GUI 显示管理器。
在本教程中,我们将解释如何使用su
命令。
如何使用su
命令#
的一般语法为su
命令如下:
su [OPTIONS] [USER [ARGUMENT...]]
当不带任何选项调用时,默认行为su
是以 root 身份运行交互式 shell:
su
系统将提示您输入 root 密码,如果通过身份验证,运行该命令的用户将暂时成为 root。
会话外壳(SHELL
)和家(HOME
) 环境变量从替代用户的设置/etc/密码条目,并且当前目录未更改。
要确认用户已更改,请使用whoami
命令:
whoami
该命令将打印运行当前 shell 会话的用户的名称:
root
调用时最常用的选项su
is -
(-l
, --login
)。这使得该 shell 成为一个环境与真实登录非常相似的登录 shell,并更改了当前目录
:
su -
如果您想运行另一个 shell 而不是中定义的 shellpasswd
文件,使用-s
, --shell
选项。例如,切换到 root 并运行zsh
shell,你可以输入:
su -s /usr/bin/zsh
为了保护整个环境(HOME
, SHELL
, USER
, and LOGNAME
) 的调用用户,使用以下命令调用该命令-p
, --preserve-environment
option.
su -p
当。。。的时候-
使用选项,-p
被忽略。
如果您想以替代用户身份运行命令而不启动交互式 shell,请使用-c
, --command
选项。例如,要调用ps作为 root 命令,您可以输入:
要切换到另一个用户帐户,请将用户名作为参数传递给su
。例如切换到用户tyrion
你可以输入:
su tyrion
须藤 vs 苏#
在某些 Linux 发行版(例如 Ubuntu)上,根用户帐户出于安全原因默认禁用。这意味着没有为root设置密码,并且您不能使用su
切换到根目录。
更改为 root 的一种选择是在前面添加su
命令与sudo
并输入当前登录的用户密码:
The sudo
命令允许您以其他用户身份运行程序,默认情况下为 root 用户。
如果用户被授予sudo
评估,将su
命令以 root 身份调用。跑步sudo su -
然后输入用户密码与运行效果相同su -
并输入 root 密码。
当与-i
选项,sudo
使用 root 用户环境运行交互式登录 shell:
sudo -i
和跑步基本一样su -
.
使用的优点sudo
over su
优点是 root 密码不需要在多个管理用户帐户之间共享。
With sudo
您还可以允许用户仅以 root 权限运行特定程序。
结论#
su
是一个命令行实用程序,允许您暂时成为另一个用户并使用替代用户执行命令。
如果您有任何问题或反馈,请随时发表评论。