Su (Unix)

su命令，也被称为“替代用户”、“超级用户”或“切换用户”，是可以让计算机操作者在虚拟控制台切换当前用户帐户的命令。

没有其他命令行参数时，默认将会将当前用户提权至本地超级用户。

 用法 
在命令行中运行时，su会要求目标用户的密码。如果验证通过，操作者将会授予该帐户的权限，并且允许访问该帐户可以访问的文件和目录。

john@localhost:~$ su
密码： 
root@localhost:/home/john# exit
登出
john@localhost:~$

此外，还可以切换到另一个不是超级用户的帐户，例如su jane。

john@localhost:~$ su jane
密码：
jane@localhost:/home/john$ exit
登出
john@localhost:~$ 

一般来说，管理员应该使用一个连字号（su -，等同于su - root），来启动登录shell。这样，用户可以获得目标用户的用户环境：

john@localhost:~$ su - jane
密码：
jane@localhost:~$

相关的命令sudo也可以允许以另一个用户的身份执行命令，但遵守一组的限制，以决定哪些用户可以以什么用户身份执行什么命令（通常是在配置文件/etc/sudoers中，最好使用visudo编辑）。与su不同的是，sudo验证的是用户自己的密码，而不是目标用户的（允许特定主机上的特定用户执行特定命令，而不用共享密码，同时减轻无人值守终端的风险）。

一些类Unix系统有wheel组，且只允许组内用户su到root。很难说这是否会降低安全风险，因为入侵者可能会轻易入侵其中一个帐户。然而，由于理念不同，GNU su不支持wheel组。理查德·斯托曼认为，由于wheel组会阻止用户使用泄露给他们root密码，现有的管理员就可以欺压普通用户。

 参见 
 Unix安全
 Unix实用程序列表
 授权功能比较

 参考 

 外部链接 
 su — GNU核心工具组手册页。

 The su command — by The Linux Information Project (LINFO)
 Definition of su — dictionary.die.net

Category:Unix用户管理和支持相关实用工具
Category:系統管理