云网牛站
所在位置:首页 > Linux命令 > Linux系统中的切换用户Su命令,教你如何使用su命令,包括注意事项

Linux系统中的切换用户Su命令,教你如何使用su命令,包括注意事项

2019-09-18 09:50:35作者:赖以葵稿源:云网牛站

在本文中,我们将解释如何使用su命令,su(替换或切换用户的缩写)实用程序允许你使用其他用户的权限运行命令,默认情况下是root用户。使用su是在当前登录会话中切换到管理帐户的最简单方法,当root用户不允许通过ssh或使用GUI显示管理器登录系统时,这尤其方便。

Linux系统中的切换用户Su命令,教你如何使用su命令,包括注意事项

 

如何使用su命令及相关注意事项

su命令的一般语法如下:

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

在没有任何选项的情况下调用时,su的默认行为是以root身份运行交互式shell:

$ su

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

会话shell(SHELL)和home(HOME)环境变量是从替换用户的/etc/passwd条目设置的,并且当前目录不会更改。

要确认用户已更改,请使用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,命令选项,例如,要以root身份调用ps命令,请输入:

su -c root

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

$ su tyrion

 

Sudo vs Su

先参考在Ubuntu系统上为用户授予和删除sudo权限的方法

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

更改为root的一个选项是使用sudo添加su命令并输入当前登录的用户密码:

sudo su -

sudo命令允许你以另一个用户身份运行程序,默认情况下是root用户。

如果用户被授予sudo评估权,那么将以root身份调用su命令,运行sudo su -并使用用户密码与使用root密码运行su相同。

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

sudo -i

sudo -i与运行su -基本相同。

使用sudo over su的优点是root密码不需要在多个管理用户帐户之间共享。

此外,使用sudo,你可以允许用户仅运行具有root权限的特定程序,参考Linux系统中sudo命令的10个技巧

 

结论

su是一个命令行实用程序,允许你临时成为另一个用户并使用替换用户执行命令。

 

相关主题

安装SUDO:在大写字母中输入Linux命令以将它作为sudo用户运行

Linux命令子频道
精选文章
热门文章