在本文中,我们将解释如何使用su命令,su(替换或切换用户的缩写)实用程序允许你使用其他用户的权限运行命令,默认情况下是root用户。使用su是在当前登录会话中切换到管理帐户的最简单方法,当root用户不允许通过ssh或使用GUI显示管理器登录系统时,这尤其方便。
如何使用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是一个命令行实用程序,允许你临时成为另一个用户并使用替换用户执行命令。
相关主题 |