超级用户

✍ dations ◷ 2025-07-27 01:49:31 #系统管理,操作系统安全

在计算中,超级用户(英语:Superuser)也被称为管理员帐户,是计算机操作系统领域中的一种用于进行系统管理的特殊用户,其在系统中的实际名称也因系统而异,如root、administrator与supervisor。

为了使病毒、恶意软件与普通的用户错误不对整个系统产生不利的影响,在系统里日常任务都是由无法进行全系统变更的普通用户账户所完成。在组织机构中,管理权限一般都预留给经验丰富的授权人士使用。

在Unix与类Unix系统中,root是在所有模式(单/多用户)下对所有文件与程序拥有一切权限的用户(也即超级用户)的约定俗成的通名,但也有例外,如在BeOS中超级用户的实名是baron,在其他一些Unix派生版里则以avatar作为超级用户的实名,而BSD中一般也提供“toor”账户(即“root”的反写)作为root账户的副本,但无论实名为何,超级用户的用户ID(UID)一般都为0。root用户可以进行许多普通用户无法做的操作,如更改文件所有者或绑定编号于1024之下的网络端口。之所以将“root”设定为超级用户之名,可能是因为root是唯一拥有修改UNIX系统根目录()的权限的用户,而根目录最初就被认为是root的家目录。

在类Unix系统引导过程中引导的第一个程序(常被称为init)就是以root权限运行的,其他所有进程都由其直接或间接派生而出,并且这些进程都继承了各自的父进程的权限。只有以root权限运行的进程才能将自己的UID修改为其他用户对应的UID,且对应UID在修改完成之后无法改回,这种行为有时也被称为丢弃root权限,其目的主要是为了安全考虑——(在进程出错等情况下)降低进程污染所造成的损失。另一种情况是,用户登录后,有些程序会向用户请求认证提升权限,当认证成功后用户就能以其账户所对应的权限来执行程序。

对任何人(也包括系统管理员自己)来说,将root当作一般用户账户使用都绝不是一个好习惯,因为即使是输入命令时的微小错误都可能对系统造成严重破坏,因而相较之下较为明智的做法是创建一个普通用户账户用作日常使用,需要root权限时再用su切换到root用户。sudo工具也是个暂时性获取root权限的替代方法。

在Mac OS X与一些Linux发行版中则允许管理员账户(注意,这与root这样的全权账户有别)拥有更多的权限,同时也屏蔽掉大部分容易(因误操作)造成损害的root权限。某些情况下,root账户是被默认禁用的,需要时必须另外启用。另外在极少数系统(如Plan 9)中,系统中根本没有超级用户。

某些软件缺陷能使用户获得root权限(即提升权限(英语:Privilege escalation)来以root权限执行用户提供的代码),这会造成严重的计算机安全问题,相对应的修复这些软件则是系统安全维护的重要组成部分。让某个正以超级用户权限运行的程序的缓冲区溢出(某些情况下亦称缓冲区攻击)是一种常见的(非法)获得root权限的方式,在现代的操作系统中则一般采取将关键程序(如网络服务器程序)运行于一个特别的限权用户之下的方式来预防这种情况的发生。

在Windows NT及其派生的后继系统(如Windows 2000、Windows XP、Windows Server 2003及Windows Vista/7),系统里要么至少有一个管理员账户(Windows XP及更早的系统),要么可以使用用户账户控制(,简称UAC)机制提升到超级用户权限(Windows Vista/7)。在Windows XP及更早的系统中有内建一个初始密码为空的管理账户(实名为“Administrator”),此账户在存在其他有系统管理权限的用户账户时是默认隐藏的,但该用户实际上未被禁用;显而易见的,这种做法会带来安全问题,所以在Windows Vista与其后继系统中默认禁止了内建的Administrator账户,并引入UAC机制取而代之。

Windows的Administrator与Unix的root账户不尽相同,Windows将部分权限分配给了“本地系统账户”,Administrator账户的目的只是为了允许在计算机上进行全系统范围(包括本地系统账户权限所不能及之范围)的更改。

Windows内建的Administrator账户与一般的管理员用户享有同等的权限,Windows系统中默认创建的用户账户也拥有管理权限,而与Mac OS X,Linux与Windows Vista/7的管理员账户不同的是,Windows中无UAC限制的Administrator账户无法将系统与超级用户权限容易造成的损害(如降低对恶意软件的抗力)相隔离。在Windows 2000,Windows XP专业版与Windows Server 2003中,管理员可用在账户属性中将账户所属组由管理员组更改为权力用户()组的方式来解决这一问题,但这一解决方法不如使用带有UAC机制的新版Windows系统有效。

对于Windows XP(及早期的系统)的管理员账户来说,提升权限执行程序并不需认证;这种做法有相当的安全隐患,解决这一问题也是开发UAC的目的之一。与之相对的,在Windows Vista/7中,管理员账户提升权限运行进程的时候会有确认提示,但不需要进行用户资格认证,而普通用户账户则需在提示框内输入任一管理员账户的用户名和密码才能通过认证;具体来说,用户可以以将进程设置为“以管理员权限运行”或使用“runas”命令并用任一管理员账户的用户名和密码进行资格认证的方式在普通用户下提升权限运行进程,但如若提权运行认证时所使用的管理员账号对应的密码为空(就像XP及早期系统内建的Administrator账户一样)时,认证机制的意义就大减了。

在Novell NetWare中,超级用户的实名是“Supervisor”,后来更改为“admin”。

许多早期的针对个人/家庭应用而设计的操作系统(如MS-DOS与Windows 9x)上并没有多用户的概念,因而也没有单独的管理账户,所有使用系统的人都有所有管理特权,这种没有分隔权限的情况也被认为是这些系统的重要安全隐患之一。

相关

  • 心脏病心脏病(cardiovascular disease (CVD))是心脏疾病的总称,包括风湿性心脏病、先天性心脏病、高血压性心脏病、冠心病、心肌炎等各种心脏病:医学导航: 产科生理/发育/薄膜(英语:Temp
  • 芽孢杆菌目脂环酸杆菌科(英语:Alicyclobacillaceae)(Alicyclobacillaceae) 芽孢杆菌科(英语:Bacillaceae)(Bacillaceae) 显核菌科(英语:Caryophanaceae)(Caryophanaceae) 李斯特菌科(英语:Listeriaceae)(L
  • 哈伯特顶点在1953年,美国地质学家哈伯特(King Hubbert)大胆预言,美国石油生产速率将于60年代末至70年代初左右达到顶峰,达到了顶峰之后就会一直下降。这种情形叫做哈伯特顶点(Hubbert's peak
  • 洛伦佐·美第奇洛伦佐·德·麦第奇(意大利语:Lorenzo de' Medici;1449年1月1日-1492年4月9日)是一个意大利政治家,也是文艺复兴时期佛罗伦斯共和国的实际统治者。被同时代的佛罗伦斯人称为“伟大
  • 天鹅座宇宙飞船天鹅座宇宙飞船(英语:Cygnus)为美国轨道科学公司因应美国国家航空航天局商业轨道运输服务(Commercial Orbital Transportation Services)发展计划的一部分而正在开发的无人驾驶补
  • 马峦街道马峦街道是中国广东省深圳市坪山区下辖的一个街道,位于深圳市东北部,名称取自辖区内的山峰—马峦山。辖区东接石井街道、北接坪山街道和龙田街道、西接碧岭街道,南接盐田区和大
  • 林秀贞林秀贞(1946年-),河北枣强人,中国农民企业家,中国共产党党员。林秀贞多年来义务赡养六位孤寡老人,资助贫困学生上学,救治收养患病弃婴,资助残疾农民就业。2006年被评为“感动中国”十
  • UH-1UH-1 Iroquois,是美国的贝尔直升机公司所设计制造的军用中型通用直升机,根据美军命名传统正式命名为“Iroquois”(为北美原住部族之一的伊洛魁部落名称),而贝尔直升机公司另起了
  • 冯姓冯姓为中文姓氏之一,在《百家姓》中排第9位。出自姬姓。周文王第十五子毕公高封于毕国。毕公高后裔毕万投奔到晋国,晋献公封他为大夫。毕万多次随晋献公出征,屡立战功。晋献公
  • 杰克·科比杰克·科比(英语:Jack Kirby,原名雅各布·库兹伯格(英语:Jacob Kurtzberg),1917年8月28日-1994年2月6日),美国著名的漫画家、编辑和编剧。被称为“美国漫画艺术大师”,有“国王”(The Ki