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。[1]很难说这是否会降低安全风险,因为入侵者可能会轻易入侵其中一个帐户。然而,由于理念不同,GNU su不支持wheel组。理查德·斯托曼认为,由于wheel组会阻止用户使用泄露给他们root密码,现有的管理员就可以欺压普通用户。[2]
参见
参考
- ^ Levi, Bozidar. UNIX Administration: A Comprehensive Sourcebook for Effective Systems and Network Management. CRC Press. 2002: 207. ISBN 0-8493-1351-1.
- ^ Why GNU su does not support the wheel group. [2013-07-31]. (原始内容存档于2013-08-07).
外部链接
- su — GNU核心工具组手册页。
- 单一UNIX®规范第7期,由国际开放标准组织发布 – 参考,
- The su command(页面存档备份,存于互联网档案馆) — by The Linux Information Project (LINFO)
- Definition of su — dictionary.die.net