如何在Linux中使用su命令切换用户

su是switch user切换用户的缩写,su命令允许您使用其他用户,默认情况下使用root用户的权限运行命令。
在本教程中,我们将说明如何使用su命令。包括su的命令语法与常见的选项,sudo与su命令的比较与区别,切换用户时并留在当前的目录中等。
如何使用su命令
su命令的一般语法如下:
su [OPTIONS] [USER [ARGUMENT...]]在不带任何选项的情况下调用时,su的默认行为是以root用户运行交互式shell:
su系统将提示您输入root密码,如果通过身份验证,则运行命令的用户将临时成为root。并替换用户的/etc/passwd设置shell程序和HOME家目录等环境变量,但当前目录未更改。
要确认用户已更改,请使用whoami命令:
whoami该命令将打印运行当前Shell会话的用户的名称:
root调用su时最常用的选项是-,-l,--login。这使当前shell成为登录shell,其环境与真实登录非常相似,并更改了当前目录:
su -如果要运行另一个shell程序而不是passwd文件中定义的shell,请使用-s,--shell选项。例如,切换到root并运行zsh shell,您可以输入:
su -s /usr/bin/zsh要保留主叫用户的整个环境(HOME,SHELL,USER和LOGNAME),请使用-p,--preserve-environment选项。
su -p使用-选项时,将忽略-p。如果要以切换用户运行命令而不启动交互式shell,请使用-c,--command选项。例如,要以超级用户身份调用ps命令,您可以输入以下命令:
su -c ps要切换到另一个用户帐户,请将用户名作为参数传递给su。例如,要切换到用户myfreax,您可以输入:
su myfreaxsudo vs su
在某些Linux发行版上,如Ubuntu出于安全原因,默认情况下root用户帐户是被禁用的。这意味着没有为root设置密码,并且您不能使用su切换到root。切换为root的一个选项是在su命令前加上sudo,然后输入当前登录用户的密码:
sudo su -sudo命令允许您以其他用户运行命令。默认将以root身份调用su命令。运行sudo su -并使用用户密码与su -使用root密码相同。与-i选项一起使用时,sudo将在root用户的环境中运行交互式登录Shell:
sudo -isudo -i与运行su -基本相同。与su相比,使用sudo的优势在于无需在多个管理用户帐户之间共享root密码。此外,通过sudo,您可以允许用户仅以root运行指定的命令。
结论
su可让您临时成为另一个用户并与并使用当前用户环境执行命令。如果您有任何疑问或反馈,请随时发表评论。
以上是 如何在Linux中使用su命令切换用户 的全部内容, 来源链接: utcz.com/z/507413.html
