su命令,也被称为“替代用户”、“超级用户”或“切换用户”,是可以让计算机操作者在虚拟控制台切换当前用户帐户的命令。
没有其他命令行参数时,默认将会将当前用户提权至本地超级用户。
在命令行中运行时,su会要求目标用户的密码。如果验证通过,操作者将会授予该帐户的权限,并且允许访问该帐户可以访问的文件和目录。
john@localhost:~$ su密码: root@localhost:/home/john# exit登出john@localhost:~$
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系统有组,且只允许组内用户su到root。很难说这是否会降低安全风险,因为入侵者可能会轻易入侵其中一个帐户。然而,由于理念不同,GNU su不支持wheel组。理查德·斯托曼认为,由于wheel组会阻止用户使用泄露给他们root密码,现有的管理员就可以欺压普通用户。