计算机术语言
展开6个同名词条
收藏
0有用+1
0
root,也称为根用户,是Unix(如SolarisAIXBSD)和类UNIX系统(如LinuxQNX等),及AndroidiOS移动设备系统中唯一拥有系统上所有权限的的超级用户,因其可对根目录执行读写和执行操作而得名。其相当于Windows系统中的管理员用户(Administrator),自Windows 10操作系统之后,Windows系统中不再使用root用户,而是使用管理员用户来执行类似root用户的高权限操作,但Windows系统中的管理员用户权限也是有限制的,不完全等同于Linux系统中的root用户。root用户具有系统中的最高权限,可以执行系统中的任何操作,包括创建、修改和删除文件(包括删除所有文件)、启动或停止系统中任何一个进程、增加或者禁用硬件、安装软件、管理用户账户(删除或增加用户)等等。因为root用户具有如此高的权限,因此在正常情况下并不建议直接以root用户身份操作系统,以免造成系统意外损坏。当需要执行高权限操作时,可以使用sudo等临时授权命令方式,更安全地执行高权限操作。
中文名
超级用户权限
外文名
root
类    别
系统用户及权限
作    用
完全掌控系统底层及系统文件
操作平台
UNIX,Linux,macOS,Android
售后影响
部分厂商对root后机器无保修

背景介绍

播报
编辑
现代操作系统一般属于多用户的操作系统,也就是说,同一台机器可以为多个用户建立账户,一般这些用户都视为普通用户,这些普通用户能同时登录这台计算机,计算机对这些用户分配一定的资源,普通用户在所分配到的资源内进行各自的操作,相互之间不受影响。但是这些普通用户的权限是有限制的,且用户太多的话,管理就不便,从而引入root用户,此用户是唯一的,且拥有系统的所有权限。root用户所在的组称为root组。“组”是具有相似权限的多个用户的集合。

权限设置

播报
编辑
root用户是系统中唯一的超级管理员,它具有等同于操作系统的权限。一些需要root权限的应用,譬如广告阻挡,是需要root权限的。可问题在于root比windows的系统管理员的能力更大,足以把整个系统的大部分文件删掉,导致系统完全毁坏,不能再次使用。所以,用root进行不当的操作是相当危险的,轻微的可以死机,严重的甚至不能开机。所以,在UnixLinuxAndroid中,除非确实需要,一般情况下都不推荐使用root。最好单独建立一个普通的用户,作为日常之用。

安全性

播报
编辑
不推荐使用root的一个原因则是出于安全的考虑。root具有系统所有的权限,root密码如果泄漏,足以导致整台计算机完全被窃取root密码的人所控制,拥有root密码就意味着拥有了这台计算机上所有用户的所有数据。
有些任务必须由root才能执行,例如删除系统内置应用程序。但在Unix或Linux系统中又不推荐使用root,这构成了一个矛盾。于是产生了一个sudo的做法,就是在必要时使用su提权,即把系统管理的一部分权限授予普通用户,并且只有在这些用户需要更高权限的时候,才允许这些用户暂时性的使用root命令来管理系统
文件系统中的根目录(root directory)是整个文件系统的顶层目录,通常用符号 "/" 表示。在这个根目录下存放着所有其他文件和目录,它是整个文件系统的起点。绝大多数的文件系统都以根目录作为其起点,所有文件和目录都位于根目录或者其子目录下。在默认情况下root的根目录(/root)是其他用户无权访问的,这在一定程度上增强了整个系统的安全性,但不完全是。Unix、Linux及Android的安全性更在于它的高度可配置性,也就是说,Unix或者Linux的安全性更取决于系统管理员而不是Unix或Linux系统本身。一般的模式是:UnixLinuxAndroid提供一种健全的安全机制,由系统管理员根据实际需要制定相应的安全策略,并且部署这些安全策略。“机制”是能做什么不能做什么,“策略”是要做什么不要做什么。而Windows的安全策略和安全机制则比较混乱,windows本身过于依赖安全策略,导致系统管理员在很多时候束手束脚,反而得不偿失。

手机厂商

播报
编辑
部分手机厂商与运营商合作,在设备出厂时预装了一系列应用程序,旨在构建封闭的生态圈。然而,这些预装应用对于部分用户来说可能并不受欢迎。为了维护这一封闭的生态,这些厂商采取了多种手段来限制用户获取管理员权限(root权限),从而迫使用户使用这些预装应用。此外,如果用户自行获取了root权限,一些手机厂商可能会以此为理由拒绝提供保修服务,即使设备出现的是与root权限无关的硬件质量问题。
这些做法使得消费者在购买设备后可能无法按照自己的意愿使用和管理设备,不仅可能对消费者的权益造成侵害,而且还可能带来潜在的隐私泄露风险。从长远来看,这些做法限制了消费者的选择权和设备的可定制性,也可能阻碍手机行业的健康发展。
现今一些手机厂商开始在系统内置root权限开关,系统默认是不开启root权限的,如果想要开启可以咨询客服、求助论坛或是查询资料自行开启,而且不同机型的root权限开启方式不尽相同。
手机root

Android root 工具汇总

播报
编辑
  1. 1.
    SuperSU权限管理国外顶级开发者开发的Root工具,理论上可Root 所有安卓设备。 [1]
  2. 2.
    ROOT大师全球最高root成功率,支持电脑、手机端一键ROOT。
  3. 3.
    ROOT精灵国内最早的安卓刷机研发团队开发,支持15000多款机型一键ROOT。
  4. 4.
    一键Root大师由知名开发团队卓大师OPDA历时三年之作,完美支持上万款机型,ROOT成功率高达90%以上。
  5. 5.
    Kingroot数千万用户的共同选择,分为手机、PC两个版本,可分别于手机和电脑端操作获取ROOT权限,支持超过9000款热门机型一键ROOT。
  6. 6.
    百度一键Root百度公司推出的手机版root及系统管理工具。 它能安全、高效地获取手机最高权限,没有任何风险;卸载不必要的系统应用,释放手机空间;保护隐私,杜绝不良软件的恶意行为;管理开机启动项,向霸占手机内存、频繁推送广告的应用说NO!
  7. 7.
    ROOT助手成功率最高的ROOT工具,安全、高效。
  8. 8.
    360一键ROOT 360开发的ROOT工具。
  9. 9.
    叮咚root 一款新兴的手机版root。叮咚root轻松获取root权限,成功率非常高。
  10. 10.
    Magisk Manager (已被Magisk代替 [2])用户需手动刷入 Magisk 来获取 Root。 [3]

Linux系统操作命令

播报
编辑
在Linux操作系统中,可以使用如下语句切换普通用户和root用户:
1. 从普通用户切换到root用户:
如果已经知道root用户的密码,可以使用su命令(switch user)来切换到root用户:
bash
su
bash
su -
然后系统会提示输入root用户的密码。输入正确的密码后,就可以以root用户的身份操作了。
此外,sudo su命令也可以切换到root用户,但与su命令有所差别。
sudo su命令切换:
bash
sudo su
bash
sudo su -
然后系统会提示输入当前账号的密码。输入正确的密码后,系统暂时授权当前用户root权限。
● sudo su命令:
1. sudo是一种授权机制,允许系统管理员授予普通用户临时获取root权限的能力。
2. sudo su命令首先会要求输入当前用户的密码(而不是root密码),然后才会切换到root用户。
3. 默认情况下,sudo会记录授权操作,以便管理员进行审计。
4. 通常情况下,sudo是默认启用的,而且更安全,因为它可以减少恶意行为的风险。
5. [sudo su] 切换root身份,不携带当前用户环境变量。[sudo su -]切换root身份,携带当前用户环境变量。
● su命令:
1. su("切换用户")命令是一种切换用户身份的方式,通常用来切换到其他用户,但如果不指定用户名,默认是切换到root用户。
2. 使用su命令时,需要输入目标用户(例如root)的密码,而不是当前用户的密码。
3. su命令提供的是一种永久性的权限切换,直到使用exit命令退出到原来的用户。
6. [su] 切换root身份,不携带当前用户环境变量。[su -]切换root身份,携带当前用户环境变量。
注意,[su]/[sudo su]只是切换了root身份,但Shell环境仍然是普通用户的Shell,工作目录仍然是当前普通用户的工作目录;而[su -]/[sudo su -]连用户和Shell环境一起切换成root身份,切换以后,工作目录变为root的工作目录,环境变量也会改变。
2. 从root用户切换到普通用户:
如果已经从普通用户切换到了root用户,并且想要切换回原来的普通用户,可以使用exit命令或者按Ctrl + D来退出root用户会话,返回到之前的用户。
Exit命令:
bash
exit
或者,也可以直接使用su命令,指定要切换到的普通用户的用户名:
bash
su - username
这里的username应替换为要切换到的普通用户的实际用户名。同样,系统会提示输入该用户的密码。
3. 使用sudo命令执行root权限的命令:
除了直接切换到root用户外,还可以使用sudo命令(superuser do)以root用户的权限执行特定的命令。这需要当前的用户账号在/etc/sudoers文件中有相应的权限配置。
例如,要以root权限执行ls /root命令,可以这样做:
bash
sudo ls /root
系统会提示输入当前用户的密码(而不是root密码),如果权限配置正确,命令就会以root权限执行。
简而言之,sudo是一种权限管理机制,管理员可以授权于一些普通用户去执行一些 root 执行的操作,而不需要知道 root 的密码。
具体来说,sudo允许一个已授权用户以超级用户或者其它用户的角色运行一个命令。通过sudo获得的权限范围是通过安全策略来指定的。sudo 支持插件架构的安全策略,并能把输入输出写入日志。第三方可以开发并发布自己的安全策略和输入输出日志插件,并让它们无缝地和 sudo 一起工作。默认的安全策略记录在 /etc/sudoers 文件中。而安全策略可能需要用户通过密码来验证他们自己。也就是在用户执行 sudo 命令时要求用户输入自己账号的密码。如果验证失败,sudo 命令将会退出。 [4]
sudo 可以暂时切换到超级用户模式以执行超级用户权限,一般指的是root用户,提示输入密码时该密码为当前用户的密码,而不是超级账户的密码。不过有时间限制,Ubuntu默认为一次时长15分钟。 [5]
由于不需要超级用户的密码,部分类Unix系统甚至利用sudo使一般用户取代超级用户作为管理账号,例如Ubuntu、Mac OS。
注意:频繁使用root权限或切换到root用户可能会带来安全风险,因为root用户具有对系统的完全控制权。因此,在执行需要root权限的操作时,请务必谨慎。