什么是su?
“Su”代表替代用户(是英文substitute user的缩写)。
sudo 命令以另一个用户帐户运行任何命令,通常用于提升权限,以便以提升的安全权限(在 Linux 术语中称为 root 用户)运行命令。
Sudo 的工作时间很短。
要长时间以其他用户身份运行,请使用 su 命令。
切换到root用户
切换到 root 用户的方式因发行版而异。
例如,在 Linux Mint、Ubuntu、Kubuntu、Xubuntu 和 Lubuntu 等基于 Ubuntu 的发行版上,使用 sudo 命令进行切换,如下所示:
sudo su
如果我们使用的发行版允许我们在安装发行版时设置 root 密码,那么我们可以简单地使用以下内容:
su
如果我们使用 sudo 运行该命令,则会要求我们输入 sudo 密码,但如果我们以 su 的方式运行该命令,则需要输入 root 密码。
要确认我们确实已切换到 root 用户,执行以下命令:
whoami
whoami 命令会告诉我们当前以哪个用户身份运行。
本文介绍了如何在 Linux 上使用 sudo 命令切换用户。
切换用户账号后执行命令
要切换到另一个用户的帐户但在切换后立即运行命令,请使用 -c 开关,如下所示:
su -c screenfetch - jack
在上面的命令中,su 切换用户,-c screenfetch 运行 screenfetch 实用程序, 切换到 jack 帐户。
切换到其他用户并采用他们的环境
su 命令切换到任何其他用户的帐户。
当我们测试用户帐户配置时,此功能很有用。
例如,假设我们使用 useradd 命令创建了一个名为 jack 的新用户。
使用以下命令切换到 jack账号:
su jack
就目前而言,上述命令将使我们以 jack 身份登录,但我们不会被放置在主文件夹中进行测试,并且不会加载 jack 添加到 .bashrc 文件中的任何设置。
但是,我们可以使用以下命令以 jack 身份登录并采用环境:
su - jack
这次当我们以 ted 身份登录时,我们将被置于 jack 的主目录中。