使用su命令可切换用户,su后加用户名并输入其密码即可切换,su -可加载目标用户完整环境,切换后输入exit返回原用户,而sudo则用于以其他用户身份执行单条命令,更安全灵活。

使用
su命令是在 Linux 中切换用户的常用方法。它允许你临时获得另一个用户的权限,而无需重新登录。
使用
su命令,你可以轻松切换到其他用户,进行需要特定用户权限的操作。
如何使用 su
命令切换用户?
su命令的基本用法很简单。打开终端,输入
su,然后加上你想要切换到的用户名。例如,要切换到用户
john,你可以输入:
su john
系统会提示你输入
john用户的密码。输入正确的密码后,你就会切换到
john用户的身份。
如果你想切换到
root用户,可以直接输入
su,不加用户名:
su
或者
su root
通常,这会提示你输入
root用户的密码。切换到
root用户需要谨慎,因为
root拥有系统最高权限。
su -
和 su
有什么区别?
你可能注意到,有些人使用
su -来切换用户。这与仅仅使用
su有什么不同呢?
简单来说,
su切换用户后,环境变量不会改变,仍然是当前用户的环境变量。而
su -(或者
su -l username) 会模拟一次完整的登录,会加载目标用户的环境变量和 shell 配置。
举个例子,假设你当前用户是
alice,使用
su john切换到
john用户后,你的
$PATH变量可能仍然是
alice用户的
$PATH。这意味着你可能无法直接运行
john用户
$PATH下的某些命令,除非你手动指定完整路径。
但是,如果你使用
su - john切换用户,你的
$PATH变量会更新为
john用户的
$PATH,这样你就可以直接运行
john用户
$PATH下的命令。
因此,通常建议使用
su -来切换用户,以确保环境的一致性。
切换用户后如何返回?
切换用户后,如果你想返回到之前的用户身份,只需要输入
exit命令即可:
exit
这会将你从当前用户身份退出,返回到之前的用户身份。你可以多次使用
exit命令,直到返回到你最初登录的用户。
使用 sudo
命令的场景?
sudo命令允许你以其他用户(通常是
root)的身份运行单个命令,而不需要完全切换用户。这在很多情况下更加方便和安全。
例如,如果你想以
root身份运行
apt update命令,你可以输入:
sudo apt update
系统会提示你输入当前用户的密码(而不是
root用户的密码)。输入正确的密码后,
apt update命令会以
root身份运行。
sudo的好处在于,你不需要一直保持
root用户的身份,只需要在需要的时候使用
sudo运行特定的命令即可。这可以减少误操作的风险。
sudo的配置通常在
/etc/sudoers文件中。你可以使用
visudo命令来编辑这个文件,添加或修改用户的
sudo权限。但是,编辑
/etc/sudoers文件需要非常小心,因为错误的配置可能导致系统安全问题。
总的来说,
su和
sudo都是在 Linux 中切换用户或以其他用户身份运行命令的常用工具。
su用于完全切换用户身份,而
sudo用于以其他用户身份运行单个命令。选择哪个工具取决于你的具体需求。










